【问题标题】:Unable to select ajax dropdown value using selenium webdriver无法使用 selenium webdriver 选择 ajax 下拉值
【发布时间】:2016-12-31 05:18:51
【问题描述】:

我正在尝试从 2 个 Ajax 下拉字段中选择特定值。第一个下拉选项列表打开但未选择选项,这就是为什么第二个下拉列表未绑定并且发生错误的原因

org.openqa.selenium.NoSuchElementException:无法定位元素: 选项[value="111"]。

请帮帮我..我是硒新手

这是我的代码..

HTML 块:

【问题讨论】:

  • 尝试使用 selectByVisibleText 时遇到什么错误???
  • 嗨,Swa,欢迎来到 Stack Overflow。与其将您的 html 代码和 webdriver 代码作为屏幕截图发布,不如使用 markdown 将代码(仅相关位)粘贴到您的问题中,您的问题会更好。
  • @swa 解决了这个问题,将其添加为解决方案并将其标记为答案。它将帮助其他用户对其进行调试。还要对您在环境中使用的版本添加更多说明。 :)

标签: javascript java selenium-webdriver


【解决方案1】:

由于 Firefox 浏览器(版本 45)的兼容性问题而出现此问题。 我正在使用 selenium 3.0.0-beta2 并针对 Firefox 45.0.2 进行测试

当为 OS windows 10 -64 位尝试 geckodriver(版本 0.10.0)时,似乎有些东西不起作用。 它仅适用于 Firefox 48 或更高版本。 它在 chromedriver 上成功运行

【讨论】:

    【解决方案2】:

    您可以尝试一种更具体的方式来与 selenium 中的下拉菜单进行交互。 试试这样的:

    Select dropdown = new Select(driver.findElement(By.id("cmbJob")));
    dropdown.selectByValue("111");
    

    您甚至可以定义一个使用 dropdwns 的函数:

    protected void chooseOptionInSelectByValue(String selectId, String valueString) {
      Select dropdown = new Select(driver.findElement(By.id(selectId)));
      dropdown.selectByValue(valueString);
    }
    

    所以你可以像这样使用函数

    chooseOptionInSelectByValue("cmbJob","111");
    

    Selenium 下拉对象还有许多其他选项,例如 selectByText 等。请在此处的 API 中查看:https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/Select.html

    【讨论】:

    • 尝试了上述解决方案。并且 selectByVisibleText,也使用 Xpath,但仍然发生同样的错误...请建议我
    • @Ricardo..非常感谢您的回复..在“第一个下拉”div 之前有一个隐藏的 div。是不是因为那个隐藏的div有什么问题?
    • @Swa 这应该不是问题。但是请检查您的 html,因为我可以看到两个名称为“cmbJob”的选择。您可以检查 new Select(driver.findElement(By.id(selectId))) 是否找到正确的下拉打印到日志或 system.out 使用“dropdown.getOptions()”的元素。见seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/…
    • @Ricardo..尝试了很多解决方案..仍然无法选择下拉值..我被困在这个问题上..请帮帮我...
    • @Swa 你检查过 new Select(driver.findElement(By.id(selectId))) 是否找到了正确的下拉菜单吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    相关资源
    最近更新 更多