java - 你如何使用迭代器点击当前元素

标签 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 循环指向的当前元素?

最佳答案

每次调用 it.next() 时,您都会得到下一个元素并且将光标向前移动。

相反,存储实例,进行检查并执行点击,如下所示:

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

关于java - 你如何使用迭代器点击当前元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46090456/

相关文章:

java - 创建 isValid 方法

java - sdk构建路径问题

java - 查找类用法

python - 在 Selenium webdriver 中应用代理网关

java - WebElement.isDisplayed 方法搜索元素可见性所需的最长时间?

java - 从 beforeCompletion TransactionSynchronization 回滚事务?

java - 如何通过BufferedOutputStream写入文件?

java - 按每个字符串中逗号后的值按字母顺序对 ArrayList 进行排序

java - 配置您的 OAuth 客户端? (谷歌表格 API)

python Selenium : Firefox auto download everything