How to use “not” in xpath?

ε祈祈猫儿з 提交于 2019-11-26 12:08:20

问题


I want to write something of the sort:

//a[not contains(@id, \'xx\')]

(meaning all the links that there \'id\' attribute doesn\'t contain the string \'xx\')

I can\'t find the right syntax.


回答1:


not() is a function in xpath (as opposed to an operator), so

//a[not(contains(@id, 'xx'))]



回答2:


you can use not(expression) function

or

expression != true()



回答3:


None of these answers worked for me for python. I solved by this

a[not(@id='XX')]

Also you can use or condition in your xpath by | operator. Such as

a[not(@id='XX')]|a[not(@class='YY')]

Sometimes we want element which has no class. So you can do like

a[not(@class)]



回答4:


Use boolean function like below:

//a[(contains(@id, 'xx'))=false]


来源:https://stackoverflow.com/questions/1550981/how-to-use-not-in-xpath

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!