Comment utiliser “not” dans xpath?

Je veux écrire quelque chose du genre:

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

(c’est-à-dire tous les liens dont l’atsortingbut “id” ne contient pas la chaîne “xx”)

Je ne trouve pas la bonne syntaxe.

not () est une fonction dans xpath (par opposition à un opérateur), donc

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

vous ne pouvez not(expression) utiliser la fonction not(expression)

ou

 expression != true() 

Aucune de ces réponses n’a fonctionné pour moi pour Python. J’ai résolu par cela

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

Vous pouvez aussi utiliser ou conditionner votre xpath par | opérateur. Tel que

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

Parfois, nous voulons un élément sans classe. Donc, vous pouvez faire comme

 a[not(@class)]