どちらのクエリも、5 回以上いいねされた写真を取得します。私が思うに、クエリ 1 は相対パスを定義しますが、クエリ 2 は定義しません。そのため、クエリ 2 は「祖先」を使用します。私は正しいですか?どちらが良いですか?
最初のクエリ:
//div[@class="pin"]
[.//span[@class = 'LikesCount']
[substring-before(normalize-space(.),' ') > 5]]
/div[@class="PinHolder"]
/a/img
2 番目のクエリ:
//div[@class="pin"]/p/span[@class="LikesCount"]
[substring-before(., " ") > 5]/ancestor::div[@class="pin"]/a/img
マークアップに従います:
<div class="pin">
[...]
<div class="PinHolder">
<a href="/pin/56787645270909880/" class="PinImage ImgLink">
<img src="http://media-cache-ec3.pinterest.com/upload/56787645270909880_d7AaHYHA_b.jpg"
alt="Krizia"
data-componenttype="MODAL_PIN"
class="PinImageImg"
style="height: 288px;">
</a>
</div>
<p class="stats colorless">
<span class="LikesCount">
22 likes
</span>
<span class="RepinsCount">
6 repins
</span>
</p>
[...]
</div>