如何使用迭代器单击当前元素

时间:2017-09-07 07:31:54

标签: java eclipse selenium selenium-webdriver

我有一个元素列表,我必须使用迭代器扫描,然后单击所需的元素。

List <WebElement> lt = driver.findElements(By.tagName("strong"));
		Iterator <WebElement> it= lt.iterator();
		while(it.hasNext())
		{
			if(it.next().getText().equals(cat))
			{
				it.next().click();
				break;
			}
		}

在我的代码中,当迭代器找到元素时,执行进入if循环,但在遇到it.next().click();时选择下一个元素 如何点击if循环指向的当前元素?

2 个答案:

答案 0 :(得分:2)

每次拨打it.next()时,您都会获得下一个元素 AND 向前移动光标。

相反,存储实例,执行检查并执行单击它,如:

WebElement e;
while(it.hasNext())
    e = it.next();
    if(e.getText().equals(cat)) {
        e.click();
    }
}

答案 1 :(得分:2)

使用ssh - i ~/.ssh/AWS.pem ubuntu@ec_ip echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGsp3HJnOqJ9BuHkQ5Myt2z3LEKQC_etc_id_rsa.pub | sudo dokku ssh-keys:add admin 循环可以更简单地满足我们的需求,如下所示:

for()