Невозможно выбрать из выпадающего меню - PullRequest
0 голосов
/ 30 марта 2019

Невозможно выбрать «Дели» из выпадающего меню ..... x-путь может быть неправильным ...

public class spicejet {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","C:\\Users\\hp\\Desktop\\Colin\\chromedriver.exe");
        WebDriver driver= new ChromeDriver();
        driver.get("https://www.spicejet.com/");

        driver.findElement(By.id("ctl00_mainContent_rbtnl_Trip_0")).click();
        driver.findElement(By.id("ctl00_mainContent_ddl_originStation1_CTXT")).click();
        driver.findElement(By.xpath("//a[contains(@text,'Kochi')]")).click();

        driver.findElement(By.id("ctl00_mainContent_ddl_destinationStation1_CTXT")).click();
       List<WebElement> list=driver.findElements(By.xpath("//div[contains(@class,'dropdownDiv')]//ul//li//a"));
        System.out.println(list.size());
        for(int i=0; i<list.size(); i++) {
            System.out.println(list.get(i).getText());
            if(list.get(i).getText().contains("Delhi (DEL)"));{
        list.get(i).click();
        break;

1 Ответ

0 голосов
/ 30 марта 2019

Ваш xpath правильный. Однако есть терминатор ;, используемый с вашим условием if, таким как if(list.get(i).getText().contains("Delhi (DEL)"));, из-за которого условие if заканчивается, и первый элемент из списка выбирается из строки кода, упомянутой в следующей строке. Вам нужно удалить ; из условия if, и тогда оно будет работать нормально.

Кроме того, вы также можете улучшить свой xpath, используя тот, который я упоминаю ниже:

List<WebElement> list=driver.findElements(By.xpath("//div[@class='dropdownDiv']//li"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...