Html XPath是否匹配@class值和元素值?

Html XPath是否匹配@class值和元素值?,html,xml,xpath,Html,Xml,Xpath,我想找到这个元素 <div class="item-price">$0.99</div> 0.99美元 使用XPath,表示选择div元素,这些元素的class属性等于“item price”,其内容包含一个美元符号($)。此XPath表达式: //div[contains(@class, 'item-price') and contains(., '$')] 将匹配包含“$”的item price类的所有div元素 如果要匹配在@class值中指定了多个CSS样式

我想找到这个元素

<div class="item-price">$0.99</div>
0.99美元
使用XPath,表示选择
div
元素,这些元素的
class
属性等于
“item price”
,其内容包含一个美元符号(
$
)。

此XPath表达式:

//div[contains(@class, 'item-price') and contains(., '$')]
将匹配包含“$”的
item price
类的所有
div
元素

如果要匹配在
@class
值中指定了多个CSS样式的情况,则在
@class
上的测试中使用
contains()
非常有用


注意事项:要获得更稳健的解决方案,请应用以下技术以避免意外的子字符串匹配(
商品价格
匹配,例如,
商品价格
):

根据HTML:

<div class="item-price">$0.99</div>
  • 使用
    contains()


  • 属性与
    @attributename
    匹配,您可以对内容使用
    contains()
    函数。你能尽最大努力使用这两个吗?好的
    //div[@class=“item price”和contains(“$”)
    但我不确定如何进行连接。我还看到了
    //div[one][theother]
    。你看过了吗?你非常接近(
    contains(,“$”)
    就可以了)我喜欢你通过告诉我
    contains()
    给我的心灵感应支持,因为它非常有价值。我更喜欢上面使用的连词语法。所以我很难选择哪一个作为答案,因为这两个答案都是正确的。欢迎你的心灵感应支持。近5年后,也许你现在能够选择一个答案或另一个答案了?:-)
    //div[@class = 'item-price'][contains(., '$')]
    
    <div class="item-price">$0.99</div>
    
    //div[@class='item-price' and starts-with(., '$')]
    
    //div[@class='item-price' and contains(., '$')]