XPath comodín en valor de atributo

c# html-agility-pack xpath

Pregunta

Tengo el siguiente XPath para hacer coincidir los atributos de la clase:

//span[@class='amount']

Quiero hacer coincidir todos los elementos que tienen el atributo de clase de "cantidad", pero también pueden tener otras clases. Pensé que podía hacer esto:

//span[@class='amount']

pero eso no funciona ... ¿cómo puedo hacer esto?

Respuesta aceptada

Usa la siguiente expresión:

//span[contains(concat(' ', @class, ' '), ' amount ')]

Podría usar los contains por sí solo, pero eso también coincidiría con clases como someamount . Pruebe la expresión anterior en la siguiente entrada:

//span[contains(concat(' ', @class, ' '), ' amount ')]

Seleccionará los primeros cuatro elementos del span , pero no el último.


Respuesta popular

Es necesario utilizar el método de contiene. Consulte ¿Cómo usar XPath contiene () aquí?

//span[contains(@class,'amount')]




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué