有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java动态下拉搜索栏结果不会解析到Selenium的列表中

我正在创建一个访问priceline的简单脚本。com,然后在离港航班下搜索“N”,并从下拉列表中选择纽约市(NYC)

我的代码成功地输入了搜索栏,但仍然无法找到包含所有相关结果的动态下拉列表。我不知道为什么

// 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) 个答案

  1. # 1 楼答案

    你已经用过了。id,但您已经创建了xPath

    尝试使用下面的xPath

    List<WebElement> departureDropdown = driver.findElements(By.xPath("//div[@id='flight-departure-airport0-dropdown']//div[@role='option']"));