【问题标题】:Get all child links from anchor node从锚节点获取所有子链接
【发布时间】:2018-08-23 18:29:06
【问题描述】:

我有一个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]"),但它也只给了我第一个元素

【问题讨论】:

  • browser.as(css: 'h3 + ul a') 怎么样?

标签: selenium xpath watir


【解决方案1】:

如果您在 ul 元素上调用 #as#links 方法,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)

【讨论】:

    猜你喜欢
    • 2014-03-14
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    相关资源
    最近更新 更多