Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XPath V1.0包含的()不够具体_Xpath - Fatal编程技术网

XPath V1.0包含的()不够具体

XPath V1.0包含的()不够具体,xpath,Xpath,我有一个应用程序,它要求我为一个元素找到一个XPath选择器,然后看看这个XPath是否可以简化 所以如果我有 <a class="abc def gh"> 这已经足够具体了。问题是,它还选择类为“abcxyz”的项目 有没有办法选择只有“abc”类的项目 i、 e.我认为这很清楚,但我想查找具有“abc”或“abc def”类别但不具有“abcxyz”类别的项目 这里有一个更具体的例子,因为我认为目前为止,这两个答案都不起作用: <div> <span

我有一个应用程序,它要求我为一个元素找到一个XPath选择器,然后看看这个XPath是否可以简化

所以如果我有

<a class="abc def gh">
这已经足够具体了。问题是,它还选择类为“abcxyz”的项目

有没有办法选择只有“abc”类的项目

i、 e.我认为这很清楚,但我想查找具有“abc”或“abc def”类别但不具有“abcxyz”类别的项目

这里有一个更具体的例子,因为我认为目前为止,这两个答案都不起作用:

<div>
    <span id="x" class="btnSalePriceLabel">Sale:</span> 
    <span id="y" class="btnSalePrice highlight">$20.40</span>
</div>
我没有被选中。同样地

//span[contains(concat(' ', normalize-space(@class), ' '), ' btnSalesPrice ')]

由于
class
属性是一个多值属性,您必须:

请注意,CSS选择器具有与内置的特定类值匹配的能力:

a.abc

我认为您可以看到更简洁易读的内容。

由于
属性是一个多值属性,您必须:

请注意,CSS选择器具有与内置的特定类值匹配的能力:

a.abc

我认为您可以看到更简洁易读的内容。

如果您使用
css
进行精确匹配,尤其是使用
属性,则会更好,在这种情况下:

a.abc
descendant-or-self::a[@class and contains(concat(' ', normalize-space(@class), ' '), ' abc ')]
您可以在几种语言上使用不同的css到xpath转换器(检查),其转换为:

a.abc
descendant-or-self::a[@class and contains(concat(' ', normalize-space(@class), ' '), ' abc ')]

最好使用
css
进行精确匹配,特别是
class
属性,在这种情况下:

a.abc
descendant-or-self::a[@class and contains(concat(' ', normalize-space(@class), ' '), ' abc ')]
您可以在几种语言上使用不同的css到xpath转换器(检查),其转换为:

a.abc
descendant-or-self::a[@class and contains(concat(' ', normalize-space(@class), ' '), ' abc ')]

为了澄清,如果可以,我会使用css选择器,但我必须使用xpath。为了澄清,如果可以,我会使用css选择器,但我必须使用xpath。我不认为这对我(添加的)特定示例有效吗?@TroyWray您的xpath应该包含
btnSalePrice
而不是
btnSalePrice
,是的,很抱歉,我不得不接受另一个答案,因为//a更简洁,我相信,准确地说,我认为这在我(添加的)特定示例中不起作用?@TroyWray您的xpath应该包含
btnSalePrice
而不是
btnSalePrice
,是这样的,ty和抱歉,我不得不接受另一个答案,因为//a更简洁,我相信,准确地说,这在我添加的示例中似乎不起作用?也许我遗漏了什么。这在我添加的示例中似乎不起作用?也许我错过了什么。