2009-10-11 19 views
136

Quiero escribir algo por el estilo:¿Cómo se usa "no" en xpath?

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

(es decir, todos los enlaces que hay atributo 'id' no contiene la cadena 'XX')

no puedo encontrar la derecha sintaxis.

Respuesta

198

no() es una función de XPath (a diferencia de un operador), por lo

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

puede utilizar not(expression) función

o

expression != true() 
7

Ninguna de estas respuestas trabajado para mí para Python. He resuelto por esta

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

También se puede usar o condición en su XPath por | operador. Como

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

A veces queremos elementos que no tienen clase. Para que pueda hacer como

a[not(@class)] 
+0

en ruby ​​works too: D –