Как получить количество взрослых, выбранное на туристическом веб-сайте, если .getText () не работает - PullRequest
0 голосов
/ 29 мая 2020

Я практикую Selenium Webdriver, используя Java на следующем веб-сайте: https://www.easyjet.com/en

Я пытаюсь увеличить количество выбранных взрослых, пока не будет выбрано 3. Вот мой код:

package d_practise;

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

public class easyjetMenu5 {

    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub

        System.setProperty("webdriver.chrome.driver", "C:\\Work\\Drivers\\New folder\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();

        driver.get("https://www.easyjet.com/en");

        WebElement adultCount = driver.findElement(By.cssSelector("input[name='Adults']"));
        String count = adultCount.getText();

        while(!count.equalsIgnoreCase("3")) {
            driver.findElement(By.cssSelector("[passenger-type='Adults'] [alt='Add one passenger\\.']")).click();
        }

    }

};

Вот изображение числового значения, которое я пытаюсь получить. Как только я смогу получить это число, я могу использовать его в течение l oop, чтобы прекратить увеличивать количество выбранных взрослых: enter image description here

1 Ответ

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

Попробуйте этот код, он работает.

public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub

        System.setProperty("webdriver.chrome.driver", "C:\\Work\\Drivers\\New folder\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();

         driver.get("https://www.easyjet.com/en");
WebDriverWait wait =new WebDriverWait(driver, 2000);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//*[contains(@id,'Adults')]/following-sibling::button"))));


      int numberOfAdults=3;

            for (int i = 2; i <=numberOfAdults ; i++) {
                driver.findElement(By.xpath("//*[contains(@id,'Adults')]/following-sibling::button")).click();

            }
        }
...