Ответ 1
not() - это функция в xpath (в отличие от оператора), поэтому
//a[not(contains(@id, 'xx'))]
Я хочу написать что-то вроде:
//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)]