我的 HTML 看起来像这样:
<div class="parent">
<div class="url">
<a href="http://url.com/view/12">LINK</a>
</div>
<div class="stats">
<div class="a">12</div>
<div class="b">14</div>
</div>
</div>
<div class="parent">
<div class="url">
<a href="http://url.com/view/364">LINK</a>
</div>
<div class="stats">
<div class="a">133</div>
<div class="b">13</div>
</div>
</div>
<div class="parent">
<div class="url">
<a href="http://url.com/view/24324">LINK</a>
</div>
<div class="stats">
<div class="a">4</div>
<div class="b">46</div>
</div>
</div>
这是否有可能让另一个 parent 的 child 找到同一个 parent 的 child ?
所以,我想获取类(class)的内容
b
的第二个 parent 。但我想找到它是href
范围。像那样-
url
的父级和 a
与 href
参数http://url.com/view/364
b
的内容在同一个父 如果你不明白,我基本上需要 XPath 获取编号
13
(b
的内容),但使用 href
找到它范围。这可能吗?如何做到这一点?
最佳答案
一种更简洁的方法是(换行仅是为了便于阅读)
//div[@class = 'parent' and div[@class = 'url']
/a/@href = 'http://url.com/view/364']/div[@class = 'stats']/div[@class = 'b']
它比您自己找到的答案要好(实际上,您自己找到答案是一件好事!)因为其中没有不必要的父轴(
..
)步骤。它比
(//a[@href='http://url.com/view/364']/following::div[@class='b'])[1]
因为
following::div[@class = 'b']
选择 div
上下文项之后的元素,即使它在另一个 div[@class = 'parent']
中.例如,如果文档看起来像<html>
<div class="parent">
<div class="url">
<a href="http://url.com/view/364">LINK</a>
</div>
<div class="stats">
<div class="a">133</div>
</div>
</div>
<div class="parent">
<div class="url">
<a href="http://url.com/view/24324">LINK</a>
</div>
<div class="stats">
<div class="a">4</div>
<div class="b">46</div>
</div>
</div>
</html>
那么结果将是
<div class="b">46</div>
关于html - 通过它的 parent 的另一个 child 来获取 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34841970/