我想写一些类似的东西:
//a[not contains(@id, 'xx')]
(意思是所有'id'属性不包含字符串'xx'的链接)
我找不到正确的语法。
not()
是 XPath 中的函数(而不是运算符),所以
//a[not(contains(@id, 'xx'))]
您可以使用
not(expression)
功能
或
expression != true()
这些答案都不适合我的Python。我用这个解决了
a[not(@id='XX')]
您还可以通过
|
运算符在 xpath 中使用或调节。比如
a[not(@id='XX')]|a[not(@class='YY')]
有时我们想要没有类的元素。所以你可以这样做
a[not(@class)]
使用
boolean function
,如下所示:
//a[(contains(@id, 'xx'))=false]
not() 函数与“and”运算符相结合在我的例子中起作用。我正在使用打字稿。 例如,
contains(text(),'textIWantToBeMatched') and not(contains(text(),'subTextIDoNotWantToBeMatched'))