Динамические выпадающие результаты поиска не отображаются в моем списке для Selenium - PullRequest
0 голосов
/ 10 января 2019

Я создаю простой сценарий для посещения priceline.com , а затем выполняю поиск " N " в разделе Вылетающие рейсы и выбираю Нью-Йорк (Нью-Йорк) из раскрывающегося списка.

Мой код успешно вводится в строку поиска, но все еще не может найти динамический раскрывающийся список со всеми соответствующими результатами. Я не уверен почему.

// Clicks on "Departing from?" textbox and clears it before typing 'N'
driver.findElement(By.id("flight-departure-airport0")).click();
driver.findElement(By.id("flight-departure-airport0")).clear();
driver.findElement(By.id("flight-departure-airport0")).sendKeys("N");

// Store all dynamic search results into a list
List<WebElement> departureDropdown = driver.findElements(By.id("//*['flight-departure-airport0-dropdown']/div/div/div"));

System.out.println("List: "+departureDropdown);

Ожидаемое: Я ожидал, что departureDropdown будет иметь длину 9 с различными аэропортами. (Нади, Нью-Йорк, Нагасаки и т. Д.) И ожидайте, что departureDropdown[i] вернет одно из названий городов в виде простого текста.

Фактический: Мой код застрял при инициализации списка. departureDropdown пусто.

1 Ответ

0 голосов
/ 10 января 2019

Вы использовали By.id, но создали xPath.

Попробуйте ниже xPath

List<WebElement> departureDropdown = driver.findElements(By.xPath("//div[@id='flight-departure-airport0-dropdown']//div[@role='option']"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...