java - 如何确保我正在检查未选中的复选框 selenium java

标签 java for-loop if-statement selenium-webdriver checkbox

我的下面的代码不起作用。当我运行下面的代码时,已经选中的复选框将被取消选中。

需要您的建议。

''' 导入java.util.List; 导入 java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import io.github.bonigarcia.wdm.WebDriverManager;

public class DropboxSelect {

public static void main(String[] args) {
    WebDriverManager.chromedriver().setup();
    WebDriver driver = new ChromeDriver(); // launch chrome

    driver.manage().window().maximize(); // maximize window
    driver.manage().deleteAllCookies(); // delete all the 
 cookies

    // dynamic wait
    driver.manage().timeouts().pageLoadTimeout(40, 
 TimeUnit.SECONDS);
    driver.manage().timeouts().implicitlyWait(10, 
TimeUnit.SECONDS);

    driver.get("https://www.jquery-az.com/boots/demo.php? 

ex=63.0_2");//输入网址

driver.findElement(By.xpath("//button[contains(@class,'multiselect')]")).click();

    List<WebElement> list = 


driver.findElements(By.xpath("//ul[contains(@class,'multiselect- 

容器')]//li//a//标签"));

for (int i = 0; i < list.size(); i++) {
        System.out.println(list.get(i).getText());
        if (!list.get(i).isSelected()) {

            list.get(i).click();

        }


    }

'''

最佳答案

如果选择了一个项目,您可以调整您的列表的 xpath 和条件,如下所示:

    List<WebElement> list = driver
        .findElements(By.xpath("//ul[contains(@class,'multiselect-container')]//li"));

    for (WebElement webElement : list) {
      System.out.println(webElement.getText());
      if (!"active".equals(webElement.getAttribute("class"))) {
        webElement.click();
      }
    }

它可以工作,但有点脆弱。

关于java - 如何确保我正在检查未选中的复选框 selenium java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61563974/

相关文章:

for-loop - Lua - 为什么不动态计算for循环限制?

Excel 多重标准函数与 Between

java - 有没有办法在java中调用父类中的函数?

java - 如何有效地进行多线程

javascript - 以递减顺序显示的 angularjs 循环

javascript - 我的 IF 语句不正确吗?

Mysql:如果条件没有给出浮点值的意外值

java - 如何使用 PDFBOX 恢复 pdf 中的增量更新?

java - 将表示为十六进制字符串的字节数组转换为正确的 int

python - 将每个键的值作为数组存储在字典中