selenium - 从 anchor 节点获取所有子链接

标签 selenium xpath watir

我有一个ul,其中的子链接埋藏了几层,用xpath或watir提取它们的最佳方法是什么?

browser.element(xpath: "//h3/following-sibling::ul[1]//a").html
and 
browser.element(xpath: "//h3/following-sibling::ul[1]").a.href


将使我获得第一个第一个链接,但不是全部。如何提取所有链接?

我试过browser.element(xpath: "//h3/following-sibling::ul[1]//*[@href]")但它也只给我第一个元素

最佳答案

如果您在#as元素上调用#linksul方法,则Watir将返回所有子链接,无论它们的级别多低。从那里,您可以遍历链接以获取href。

browser.element(xpath: "//h3/following-sibling::ul[1]").as.map(&:href)
#=> ["href1", "href2", "etc"]


如果要避免使用XPath,也可以执行以下操作:

browser.h3.following_sibling(tag_name: 'ul').as.map(&:href)

关于selenium - 从 anchor 节点获取所有子链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51992155/

相关文章:

watir - 在大量隐藏元素中返回可见 list_items 的最佳选择

angularjs - 如何使用 Protractor ElementArrayFinder 避免 'Index out of Bound' 异常

java - 无法使用selenium下载任何文件

html - XPATH 如何使用 HTML 敏捷包从 HTML 中的 tbody 一次提取一个 td

ruby - 遍历父元素循环的子元素

javascript - 如何在 Watir 中引用 JavaScript 工具提示

Selenium - 可以像这样混合隐式等待和显式等待吗?

selenium - Grails 和 Selenium : how to integrate the two?

java - 如何比较 selenium webdriver 中的 HTML 弹出窗口中是否存在部分文本?

java - 一个关于如何解决Java中字符串问题的问题