一个带有排除的复杂xpath

时间:2017-07-11 13:14:56

标签: xpath

我试图通过排除提取xpath但无法解决此问题。

 (//div[@class='row site country-names']/following-sibling::div)[1]/div

上面的xpath提取所有三个div,但是我需要排除有点分隔符的div。 enter image description here

我尝试了例外但不是没有用。

 (//div[@class='row site country-names']/following-sibling::div)[1]/div and not [@class='dot-seperator']

2 个答案:

答案 0 :(得分:1)

我认为您正在尝试选择一个节点,同时排除其中一个节点。

XPath表达式的结果不包括带有类"点分隔符"的div。但它确实包含其父div,并且在许多情况下,使用XPath选择节点的应用程序将其视为选择以该节点为根的整个子树。它是选择执行此操作的调用应用程序,而不是XPath本身。

答案 1 :(得分:1)

您需要使用not排除任何属性,例如对于类:

//div[@class='row site country-names']/following-sibling::div[not(@class)]

将@与属性名称一起使用:

[not(@attribute_name)]