我想找到这个元素:
<div class="item-price">$0.99</div>
使用XPath,它告诉我一个div,其class属性等于“item-price”,其内容字段包含一个美元符号。
答案 0 :(得分:13)
这个XPath表达式:
//div[contains(@class, 'item-price') and contains(., '$')]
将匹配包含&#39; $&#39;的div
类的所有item-price
元素。
如果您希望匹配contains()
值中指定了多种CSS样式的情况,则在@class
的测试中使用@class
非常有用。
警告:要获得更强大的解决方案,请应用以下技术以避免意外的子字符串匹配(item-price
匹配,例如item-prices
):
//div[contains(concat(' ',@class,' '), ' item-price ') and contains(., '$')]
答案 1 :(得分:4)
//div[@class = 'item-price'][contains(., '$')]
答案 2 :(得分:0)
按照HTML:
<div class="item-price">$0.99</div>
有:
item-price
$
符号开头。因此,要相对于类属性的值(即item-price
和 innerText 以美元符号($
开头的内容)定位此元素,可以使用以下解决方案:
使用starts-with()
:
//div[@class='item-price' and starts-with(., '$')]
使用contains()
:
//div[@class='item-price' and contains(., '$')]