gpt4 book ai didi

java - Selenium Webdriver,检查是否启用了多个元素并与它们交互(如果为 true)

转载 作者:行者123 更新时间:2023-11-30 08:13:00 25 4
gpt4 key购买 nike

我的页面有 16 个相同的 WebElement(按钮),这些元素可能出现在页面上,也可能不出现。这些按钮具有相同的功能 - 单击时删除一条数据。我需要:-

  1. 检查元素是否对用户可见
  2. 如果 1. 为 true,请点击它们将其删除

我当前的代码:-

public void removeExistingPeriods() {

List<WebElement> removeButtons = driver.findElements(By.cssSelector(".activeLink.removeBtn.btn.btn-warning"));
if (removeButtons.size() == 0) {
fail("No Remove buttons were found on the page!:");
} else {
for(WebElement option: removeButtons){
option.click();
}
}

}

这失败了:- org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互

我怎样才能:-

  1. 检查总共 16 个按钮中有多少个已启用?
  2. 依次单击已启用的按钮,直到不再出现已启用的按钮?

最佳答案

尝试一下。使用增强的 for 循环,您可以遍历removedButtons 中的每个WebElement。如果按钮isDisplayed,则单击它。

List<WebElement> removeButtons = driver.findElements(By.cssSelector(".activeLink.removeBtn.btn.btn-warning"));
for(WebElement button : removeButtons) {
if(button.isDisplayed()) {
button.click();
}
}

关于java - Selenium Webdriver,检查是否启用了多个元素并与它们交互(如果为 true),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30094966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com