我想选择包含带有id =“liveDeal152_dealPrice”的SPAN的所有LI元素作为后代。我如何用xpath做到这一点?
这是一个示例html
<ul>
<li id="liveDeal_152">
<p class="price">
<em>|
<span class="WebRupee">₹ </span>
<span id="liveDeal152_dealPrice">495 </span>
</p>
</li>
<li id="liveDeal_152">
<p class="price">
<em>|
<span class="WebRupee">₹ </span>
(price hidden)
</p>
</li>
</ul>
答案 0 :(得分:1)
//li[.//span[@id = 'liveDeal152_dealPrice']]
应该这样做。或者更详细但更接近您的文字说明//li[descendant::span[@id = 'liveDeal152_dealPrice']]
。
答案 1 :(得分:1)
使用此
//li[.//span[@id="liveDeal152_dealPrice"]]
选择
ALL <li> ELEMENTS
//li[ ]
THAT HAVE A <span> DESCENDANT
.//span[ ]
WITH id ATTRIBUTE EQUAL TO "liveDeal152_dealPrice"
@id="liveDeal152_dealPrice"
那就是说,它看起来不是一个非常明智的元素选择,主要是由于动态看id
。如果您要使用它一次,它可能没问题,但是如果您正在使用它,比如说,进行测试并将多次重复使用,则可能会造成麻烦。您确定在更改网站和/或数据库时这不会发生变化吗?
作为旁注:
ul
代表&#34;无序列表&#34; ol
代表&#34;有序列表&#34; li
代表&#34;列表项&#34;