Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 下拉列表在可见时不选择该值_Java_Selenium_Testing_Selenium Webdriver_Automation - Fatal编程技术网

Java 下拉列表在可见时不选择该值

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元素列表。当下拉列表相

选择家庭房间时,会出现两个下拉列表: 1.询问成年人人数 2.询问孩子的电话号码 从第二个下拉列表中选择数字后,第三个下拉列表将可见。 为此,我使用显式等待,但它仍然没有被选中不知道为什么

网站=


显式等待发生在您已经尝试查找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))