我有这个不起作用的xpath表达式
"//div[child[0]::h4[text()[contains(.,'Dir')]]]/a"
解析这个html:
<div class="txt">
<h4 class="c1">
Dir
</h4>
<a href="/name/myname/">Bob</a>
</div>
我正试图进入链接节点(a)。文档中还有其他html标签具有相同的div / h4层次结构,唯一的区别是h4标签的innertext。那么我该如何检查div类(1)是否有一个内部文本为“dir”的子h4节点AND(2)得到第一个链接节点(a)。不要认为链接是h4的下一个兄弟。
答案 0 :(得分:2)
你不能使用这个xpath吗?
"//div[h4[contains(text(),'Dir')]]/a"
child[0]
不是有效的轴AFAIK,因此失败。
如果没有更完整的HTML示例,我不知道这是否能满足您的条件。但这肯定适用于这个。
如果h4
中有多个div
元素,您只想检查第一个:
"//div[h4[1][contains(text(),'Dir')]]/a"
答案 1 :(得分:1)
如何检查div类(1)是否具有内部文本“dir”的子h4节点AND(2)获取第一个链接节点(a)
使用:
"//div[@class='txt' and h4[contains(.,'Dir')]]/a[1]"