Java 下拉列表在可见时不选择该值
选择家庭房间时,会出现两个下拉列表: 1.询问成年人人数 2.询问孩子的电话号码 从第二个下拉列表中选择数字后,第三个下拉列表将可见。 为此,我使用显式等待,但它仍然没有被选中不知道为什么 网站=Java 下拉列表在可见时不选择该值,java,selenium,testing,selenium-webdriver,automation,Java,Selenium,Testing,Selenium Webdriver,Automation,选择家庭房间时,会出现两个下拉列表: 1.询问成年人人数 2.询问孩子的电话号码 从第二个下拉列表中选择数字后,第三个下拉列表将可见。 为此,我使用显式等待,但它仍然没有被选中不知道为什么 网站= 显式等待发生在您已经尝试查找child-age元素之后。删除该行和下一行,并使用预期条件 此外,定位器中使用的id是动态生成的,在下次运行时将失败。像这样使用xpath定位器-//选择[Start]-with@id,'select-ages-children']将返回子年龄Web元素列表。当下拉列表相
显式等待发生在您已经尝试查找child-age元素之后。删除该行和下一行,并使用预期条件
此外,定位器中使用的id是动态生成的,在下次运行时将失败。像这样使用xpath定位器-//选择[Start]-with@id,'select-ages-children']将返回子年龄Web元素列表。当下拉列表相互依赖时,即如果只有在选择前一个元素后才在下拉列表中填充选项,则可以使用以下等待
new WebDriverWait(driver, 15).until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath("//select[@id='select-ages-children-1-78']/option"), number))
上述代码中的“数字”是可变的。有些下拉列表不显示文本。在这种情况下,可以将其设置为0。其中有些仅具有一个“-Select-”选项。在这种情况下,可以将其设置为1
new WebDriverWait(driver, 15).until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath("//select[@id='select-ages-children-1-78']/option"), number))