我有一个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]")
,但这也只给了我第一个要素
答案 0 :(得分:3)
如果您在#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)