web-dev-qa-db-ja.com

xpathで「not」を使用する方法は?

ある種の何かを書きたい:

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

(「id」属性に文字列「xx」が含まれていないすべてのリンクを意味します)

正しい構文が見つかりません。

158
Guy

not()は(演算子ではなく)xpathの関数なので、

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

not(expression)関数を使用できます

または

expression != true()
38

これらの答えはどれも私にとってPythonではうまくいきませんでした。これで解決しました

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

また、|演算子を使用して、xpathで使用または条件付けできます。といった

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

クラスを持たない要素が必要な場合があります。だからあなたは好きなことができます

a[not(@class)]
10
Harun ERGUL