xpath 前同级选择
Posted
技术标签:
【中文标题】xpath 前同级选择【英文标题】:xpath preceding-sibling select 【发布时间】:2017-04-03 14:39:10 【问题描述】:有人可以给我一个提示,如何根据 svg class="svg svg-goal" 获取“Some text1”吗?
这行得通
$x("//br/../preceding-sibling::strong/a")
这不起作用
$x("//svg[@class='svg svg-goal']/../preceding-sibling::span/strong/a")
层级 html 代码
<span class="event-p-name">
<strong>
<a href="">Some text1</a>
</strong>
<small>
<br>Some text2</br>
</small>
</span>
<span class="event-type">
<svg class="svg svg-goal">
<use xlink:href="/public/themes/svg/symbol-defs.svg#football"></use>
</svg>
</span>
谢谢
【问题讨论】:
【参考方案1】:对于<svg>
元素(及其子元素),您需要使用//*[name()='svg']
语法。试试下面:
//*[name()='svg' and @class='svg svg-goal']/../preceding-sibling::span/strong/
【讨论】:
【参考方案2】:试试这个
//svg[@class='svg svg-goal']/preceding::span/strong/a
结果
<a href="">Some text1</a>
【讨论】:
以上是关于xpath 前同级选择的主要内容,如果未能解决你的问题,请参考以下文章