如何从 Selenium WebDriver 的下拉列表中获取所有元素?

新手上路,请多包涵

如何从下拉列表中获取所有元素?我使用了下面的代码:

 List<WebElement> elements = driver.findElements(By.id("s"));

但我总是只得到第一个元素。

原文由 Namitha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 417
1 个回答

在绑定中有一个为此设计的类。

您正在寻找 Select 类:

https://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/support/ui/Select.java

您需要“找到”实际的 select 元素,而不是各个选项。找到 select 元素,然后让 Selenium 和 Select 类为您完成剩下的工作。

你会寻找类似的东西( s 是实际的 select 元素):

 WebElement selectElement = driver.findElement(By.id("s");
Select select = new Select(selectElement);

Select 类有一个方便的 getOptions() 方法。这将完全按照您的想法进行。

 List<WebElement> allOptions = select.getOptions();

现在你可以用 allOptions 做你想做的事。

原文由 Arran 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题