xpath查找非空链接

时间:2017-12-20 22:43:57

标签: php dom xpath

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

这样的事情应该有效

//a[text() or *]

这应该为您提供至少有一个子节点(包括文本)的所有<a>个元素。

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

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

答案 1 :(得分:1)

只需尝试这个

//a[text() or img]

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