Xpath获取内部文本的所有链接

时间:2013-09-06 03:00:12

标签: javascript xpath

我想抓取一个包含内部文本的页面上所有链接的集合。

这些是有效案例:

<a>Foo</a>
<a><span>Bar</span></a>

这些是无效的案例:

<a></a>
<a><span></span></a>

我尝试过:

//a[text()]但忽略了跨度的情况

//a[not(text()='')]但这不会过滤掉空案例

有没有办法检查text()=NULL

注意:

我知道我可以使用document.links;然后手动过滤,但我宁愿只有一个干净的表达。

2 个答案:

答案 0 :(得分:2)

虽然 @ Seanny123 的答案是正确的,但我会这样做: -

<强> HTML:

<a>Foo</a>
<a><span>Bar</span></a>
<a></a>
<a><span></span></a>

<强> XPATH:

//a[string()]

答案 1 :(得分:1)

正确的表达方式是:

//a[normalize-space()]

感谢this question启发我。