webentwicklung-frage-antwort-db.com.de

Wie verwende ich "nicht" in xpath?

Ich möchte etwas in der Art schreiben:

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

(Das bedeutet, dass alle Links, die das Attribut 'id' enthält, nicht den String 'xx' enthalten.)

Ich kann die richtige Syntax nicht finden.

158
Guy

not () ist eine Funktion in xpath (im Gegensatz zu einem Operator)

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

sie können die Funktion not(expression) verwenden

oder

expression != true()
38

Keine dieser Antworten hat bei mir für Python funktioniert. Ich habe das gelöst

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

Sie können in Ihrem xpath auch den Operator | Verwenden oder konditionieren. Sowie

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

Manchmal wollen wir ein Element, das keine Klasse hat. Also kannst du gerne machen

a[not(@class)]
10
Harun ERGUL