代码之家  ›  专栏  ›  技术社区  ›  patrick

xpath查找非空链接

  •  3
  • patrick  · 技术社区  · 8 年前

    我想使用xPath查找页面上的链接,但仅限于具有实际内容的链接:

    所以我想找到: <a href='test.html'><img src='test.jpg'></a>

    <a href='test.html'>link</a>

    但不是: <a href='test.html'></a>

    到目前为止,我尝试了: //a[text()] 它在示例中找到第二个链接并跳过最后一个链接,但也没有找到第一个链接。。。我也想找到第一个。我该怎么办?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Phil    8 年前

    像这样的东西应该有用

    //a[text() or *]
    

    这应该会让你们所有人 <a> 至少具有一个子节点的元素(包括文本)。

    演示~ http://www.xpathtester.com/xpath/0971a775fc7ac19b5b631a760c4aba9d

    这是一个很好的XPath表达式备忘单~ https://devhints.io/xpath

        2
  •  1
  •   zx485 potemkin    8 年前

    试试这个

    //a[text() or img]
    

    查找包含文本或图像的所有链接( img 标签)。

    推荐文章