使用 selenium 在 javascript 中获取具有类名的元素列表

新手上路,请多包涵

如何使用 selenium 在 javascript 中获取具有特定类名的元素列表?

我正在搜索类 message_body 的任何元素。我想要一个包含所有具有该类的元素的数组。

driver.findElements(By.className("message_body")) 不起作用,它似乎返回了其他东西。

我怎样才能得到这份名单?

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

阅读 319
2 个回答

这是从元素列表中获取文本的示例:

 driver.findElements(By.className("message_body")).then(function(elements){
    elements.forEach(function (element) {
        element.getText().then(function(text){
            console.log(text);
        });
    });
});

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

所以,我使用的是旧版本的 Selenium,v2.47.1,但是当 driver.findElements(By.className("someClass")) 不够时我使用的是 driver.findElements(By.xpath("/path/to/[@class='someClass']")) 。这将返回一个 List<WebElement> 。如果我没记错的话, By.xpath 比某些浏览器上的其他一些选项慢一点,但不是很多……

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

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