如何在xpath中使用"not"?

Guy*_*Guy 159 xpath dom xpathquery

我想写一些类似的东西:

//a[not contains(@id, 'xx')]
Run Code Online (Sandbox Code Playgroud)

(意思是'id'属性的所有链接都不包含字符串'xx')

我找不到合适的语法.

Jam*_*lak 232

not()是xpath中的函数(与运算符相对),所以

//a[not(contains(@id, 'xx'))]
Run Code Online (Sandbox Code Playgroud)


Abd*_*oud 38

你可以使用not(expression)功能

要么

expression != true()
Run Code Online (Sandbox Code Playgroud)


Har*_*GUL 10

这些答案对我来说都不适用于python.我解决了这个问题

a[not(@id='XX')]
Run Code Online (Sandbox Code Playgroud)

您也可以在|运算符的xpath中使用或条件.如

a[not(@id='XX')]|a[not(@class='YY')]
Run Code Online (Sandbox Code Playgroud)

有时我们想要没有课程的元素.所以你可以这样做

a[not(@class)]
Run Code Online (Sandbox Code Playgroud)