Так как это автоматическое предложение контента, и вы хотите выбрать первый вариант из этого выпадающего списка, вы можете использовать Keys
enum селена, и вы можете выполнить выбор, как показано ниже:
driver.get("https://www.goibibo.com/");
WebElement from = driver.findElement(By.id("gosuggest_inputSrc"));
from.sendKeys("Bangalore");
Thread.sleep(3000);
from.sendKeys(Keys.ARROW_DOWN +""+ Keys.ENTER);
ЕслиВы хотите выбрать другой вариант, чем первый, затем вы можете использовать следующие xpaths, чтобы идентифицировать выпадающие опции:
//input[@id='gosuggest_inputSrc']/preceding-sibling::i/following::ul[contains(@id, 'react-autosuggest')]//li
Или
//ul[contains(@id, 'react-autosuggest')]//li
Ниже приведен код для печати всехварианты из этого раскрывающегося и выбрать конкретное значение:
driver.get("https://www.goibibo.com/");
WebElement from = driver.findElement(By.id("gosuggest_inputSrc"));
from.sendKeys("Bangalore");
// Giving some delay so that the auto suggestion drop down will appear
Thread.sleep(3000);
// Fetching options from dropdown
List<WebElement> dropdownOptions = driver.findElements(By.xpath("//ul[contains(@id, 'react-autosuggest')]//li"));
// Printing all the option text
for(WebElement element : dropdownOptions) {
System.out.println(element.getText());
}
// Selecting the first option
dropdownOptions.get(0).click();
Я надеюсь, что это помогает ...