Как убедиться, что я проверяю чекбоксы, которые не отмечены Селен java - PullRequest
0 голосов
/ 02 мая 2020

Мой код ниже не работает. Когда я запускаю код ниже, уже отмеченные флажки снимаются.

Нужны ваши предложения.

'' 'import java .util.List; import 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 "); // введите URL

driver.findElement (By.xpath (" // button [ Содержит (@ class, 'multiselect')] ")). click ();

    List<WebElement> list = 


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

container ')] // li // a // label"));

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

            list.get(i).click();

        }


    }

'' '

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете адаптировать 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();
      }
    }

Это работает, но немного ломко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...