我正在用java创建一个selenium测试。我想自动调整对话框中的下拉菜单。下拉菜单的xpath是:
/html/body/div[8]/div/div/form/div[2]/div[2]/div[2]/div/select
我的问题是我无法从下拉菜单中选择一个元素。我用过:
new WebDriverWait(driver, 20).until
和ExpectedCondition来选择元素。你能帮我找到一种从下拉列表中选择元素的方法吗。
要从html select标记中选择一个select选项,您需要诱导WebDriverWait等待elementToBeClickable()
,您可以使用以下定位器策略之一:
-
使用id和
selectByIndex()
:new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.id("selectID")))).selectByIndex(1);
-
使用cssSelector和
selectByVisibleText()
:new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("selectCssSelector")))).selectByVisibleText("OptionText");
-
使用xpath和
selectByValue()
:new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("selectXpath")))).selectByValue("OptionValue");
参考
您可以在中找到一些相关的详细讨论
- 如何通过Selenium WebDriver从下拉列表中选择选项
- 试图从Selenium web automation中的下拉列表中选择一个选项-错误-";ElementNotInteractiableException:无法滚动到视图中">
- 如何使用Selenium从选择下拉列表中检索选项的值
您需要首先单击下拉按钮,然后从下拉列表中找到要选择的按钮,然后单击它。