Select 硒

Select Selenium

我正在使用 java 创建 selenium 测试。我想在对话中自动化下拉菜单。 下拉菜单的 xpath 是:

/html/body/div[8]/div/div/form/div[2]/div[2]/div[2]/div/select

我的问题是我无法 select 下拉菜单中的元素。 我用过:

new WebDriverWait(driver, 20).until

和 ExpectedCondition 到 select 一个元素。你能帮我找到一种方法来 select 从下拉列表中选择一个元素吗?

您需要先点击下拉按钮,然后从下拉列表中找到您想要select的按钮,然后点击它。

致 select from a tag you need to induce for the elementToBeClickable() and you can use either of the following 之一:

  • 使用 idselectByIndex():

    new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.id("selectID")))).selectByIndex(1);
    
  • 使用 cssSelectorselectByVisibleText():

    new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("selectCssSelector")))).selectByVisibleText("OptionText");
    
  • 使用 xpathselectByValue():

    new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("selectXpath")))).selectByValue("OptionValue");
    

参考资料

您可以在以下位置找到几个相关的详细讨论:

  • Trying to select an option from the dropdown in Selenium web automation -error- "ElementNotInteractableException: could not be scrolled into view"
  • How to retrieve the value of options from a select drop-down using Selenium?