我有一个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
元素上调用#links
或ul
方法,则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/