Для цикла в JAVA (Selenium) для findElement через cssSelector - PullRequest
0 голосов
/ 02 июля 2019

Я бы хотел использовать цикл for, чтобы они нажимали их с 1-го флажка - 4-го флажка для моей автоматизации тестирования.

webdriver.findElement(By.cssSelector("#mat-checkbox-1 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-2 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-3 .mat-checkbox-inner-container")).click();
webdriver.findElement(By.cssSelector("#mat-checkbox-4 .mat-checkbox-inner-container")).click();

Я попробовал приведенный ниже код, но он все еще не работает.

for(int i=1; i>=4; i++){
webdriver.findElement(By.cssSelector("#mat-checkbox-"+i+".mat-checkbox-inner-container")).click();
}

1 Ответ

4 голосов
/ 02 июля 2019

Прежде всего, ваш цикл неверен. Второе условие касается того, когда цикл должен запускаться, и, поскольку он имеет значение i>=4 и начинается с i=1, он никогда не запустится. Кроме того, вы должны разделить условия с помощью ;, поэтому правильный цикл for в вашем случае будет: for(int i = 1; i <= 4; i++){...}. И, наконец, вы забыли пробел до .mat-checkbox-.. части. Правильный код должен выглядеть так:

for(int i = 1; i <= 4; i++){
    webdriver.findElement(By.cssSelector("#mat-checkbox-"+i+" .mat-checkbox-inner-container")).click();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...