Probador de XPath
Prueba expresiones XPath 1.0 sobre XML o HTML y ve al instante los nodos, atributos, textos y resultados numéricos o de texto, con el motor del navegador.
¿Qué es Probador de XPath?
El probador de XPath evalúa una expresión XPath sobre un documento XML o HTML que pegas y muestra el resultado: los elementos coincidentes con su marcado y su texto, los valores de atributos, o un número, una cadena o un booleano para expresiones como count() o sum(). Los resultados se actualizan mientras escribes.
Cómo usar Probador de XPath
- Introduce una expresión XPath, p. ej.
//book[price > 35]/title. - Elige si el documento se analiza como XML o como HTML.
- Pega o edita el documento.
- Consulta el número de coincidencias y cada nodo coincidente, o el resultado escalar.
Ejemplo
//book[price > 35]/title on the sample bookstore XML
2 matches: Learning XML, XQuery Kick Start
sum(//book/price) devuelve 119.94.
Cuándo usar Probador de XPath
Úsalo para desarrollar XPath para web scraping, localizadores de Selenium/Playwright, XSLT o procesamiento de configuraciones XML. Los navegadores solo implementan XPath 1.0, así que las funciones de XPath 2.0/3.1 (p. ej. matches(), string-join()) no están disponibles. Los scripts del HTML pegado no se ejecutan.
Cómo funciona Probador de XPath
El documento se analiza con DOMParser del navegador (application/xml o text/html); se informa de los errores de sintaxis XML. La expresión se evalúa con document.evaluate(), el motor XPath 1.0 nativo del navegador, con resultados ANY_TYPE, así que se admiten conjuntos de nodos, números, cadenas y booleanos. Los prefijos de espacio de nombres se resuelven a partir de las declaraciones del elemento raíz. Se muestran hasta 200 coincidencias.
Casos de Uso Comunes
- Crear un localizador como
//button[normalize-space()="Save"]para pruebas de interfaz. - Extraer todos los valores de un atributo con
//book/@category. - Contar o sumar valores de un feed XML.
- Depurar por qué un XPath de un scraper no devuelve nada.
Preguntas Frecuentes
¿Por qué mi XPath con un espacio de nombres por defecto no devuelve nada?
En XPath 1.0, los nombres sin prefijo nunca coinciden con elementos que tienen espacio de nombres. Declara un prefijo en el elemento raíz y úsalo, o usa *[local-name()='book'].
¿Debo analizar como HTML o como XML?
Usa HTML para páginas web (análisis tolerante, nombres de etiqueta en minúsculas); usa XML para feeds, SOAP, sitemaps y archivos de configuración.
¿Se admite XPath 2.0?
No. Todos los navegadores principales solo implementan XPath 1.0.