select 1 个元素的 XPath(如果存在两个元素之一)
XPath to select 1 element if one of two exists
我想 select 一个元素,如果 2 个元素中有一个存在,同时将它用于 2 页
第 1 页(折扣价)
<div class="price">
<span class="originalRetailPrice">,990.00</span>
</div>
</div>
<div class="price">
<span class="salePrice">,794.00</span>
</div>
或第2页(只有一个价格)
<div class="price">
8.00
</div>
我用过
//span[@class="originalRetailPrice"] | (//div[@class="priceBlock"])[1]
但是我得到了两次价格
我要的是select第一个价格在class="originalRetailPrice"
或者//div[@class="price"]/text()[1]
的时候
所以最后我想让 selection 在两个页面上工作
使用//
获取<div class="price">
内任意层的文本:
//div[@class="price"][1]//text()
结果:
Text=''
Text=',990.00'
Text=''
并过滤空文本:text()[normalize-space() and not(ancestor::a | ancestor::script | ancestor::style)]
//div[@class="price"][1]//text()[normalize-space() and not(ancestor::a | ancestor::script | ancestor::style)]
结果第 1 页:
Text=',990.00'
结果第 2 页:
Text='8.00'
你可以这样试试:
//span[@class="originalRetailPrice"] | //div[@class="price" and not(span[@class="originalRetailPrice"])]/text()[1]
第 2 部分(|
的右侧)select div[@class="price"]
元素仅当它没有子元素时 span[@class="originalRetailPrice"]
.
我想 select 一个元素,如果 2 个元素中有一个存在,同时将它用于 2 页
第 1 页(折扣价)
<div class="price">
<span class="originalRetailPrice">,990.00</span>
</div>
</div>
<div class="price">
<span class="salePrice">,794.00</span>
</div>
或第2页(只有一个价格)
<div class="price">
8.00
</div>
我用过
//span[@class="originalRetailPrice"] | (//div[@class="priceBlock"])[1]
但是我得到了两次价格
我要的是select第一个价格在class="originalRetailPrice"
或者//div[@class="price"]/text()[1]
所以最后我想让 selection 在两个页面上工作
使用//
获取<div class="price">
内任意层的文本:
//div[@class="price"][1]//text()
结果:
Text=''
Text=',990.00'
Text=''
并过滤空文本:text()[normalize-space() and not(ancestor::a | ancestor::script | ancestor::style)]
//div[@class="price"][1]//text()[normalize-space() and not(ancestor::a | ancestor::script | ancestor::style)]
结果第 1 页:
Text=',990.00'
结果第 2 页:
Text='8.00'
你可以这样试试:
//span[@class="originalRetailPrice"] | //div[@class="price" and not(span[@class="originalRetailPrice"])]/text()[1]
第 2 部分(|
的右侧)select div[@class="price"]
元素仅当它没有子元素时 span[@class="originalRetailPrice"]
.