¿Cómo puedo encontrar un elemento por clase CSS con XPath?
En mi página web, hay un div
con un class
nombre Test
.
¿ Cómo puedo encontrarlo con XPath
?
Este selector debería funcionar, pero será más eficiente si lo reemplaza con el marcado adecuado:
//*[contains(@class, 'Test')]
O, como sabemos que el elemento buscado es div
:
//div[contains(@class, 'Test')]
Pero como esto también coincidirá con casos como class="Testvalue"
o class="newTest"
, la versión de @Tomalak proporcionada en los comentarios es mejor :
//div[contains(concat(' ', @class, ' '), ' Test ')]
Si desea estar realmente seguro de que coincidirá correctamente, también puede usar la función normalize-space para limpiar los espacios en blanco perdidos alrededor del nombre de la clase (como lo menciona @Terry):
//div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]
Tenga en cuenta que en todas estas versiones, es mejor reemplazar * por cualquier nombre de elemento que realmente desee hacer coincidir, a menos que desee buscar en todos y cada uno de los elementos del documento la condición dada.
La manera más fácil...
//div[@class="Test"]
Suponiendo que desea encontrar <div class="Test">
como se describe.