Я хочу написать что-то вроде:
//a[not contains(@id, 'xx')]
(имеется в виду, что все ссылки, которые есть в атрибуте 'id', не содержат строку 'xx')
Я не могу найти правильный синтаксис.
not () - функция в xpath (в отличие от оператора), поэтому
//a[not(contains(@id, 'xx'))]
вы можете использовать not(expression) функцию
not(expression)
или
expression != true()
Ни один из этих ответов не работал для меня на python. Я решил этим
a[not(@id='XX')]
Также вы можете использовать или указывать в своем xpath оператором |. Такие как
|
a[not(@id='XX')]|a[not(@class='YY')]
Иногда нам нужен элемент, который не имеет класса. Таким образом, вы можете сделать как
a[not(@class)]