
Para escribir expresiones se usara lo siguiente $x(''). Entre las comillas se van a escribir las expresiones, las expresiones tienen diferentes símbolos que tienen una utilidad.
Se describe la utilidad de cada expresión.
/ hace referencia a la raíz, o tambien significa un salto entre nodos. e.g /html/bodyMuestra todo lo que hay dentro del body de html// Sirve para acceder a todos los nodos con la etiqueta seleccionada, salteando los nodos que no nos interesan. e.g (//span) muestra todas las etiquetas span*.. Sirve para acceder a los nodos padre de la etiqueta tag. e.g //span/.. accede a todos los nodos padre de span e.g. [body]. Hace referencia al nodo actual. e.g. //span/. es equivalent a //span@ Sirve para traer los atributos. e.g //div/@class Nos da las clases de todos los divs. **Todo lo que viene después de un @ es un atributo**Ejemplo:
# Fuentede trabajo Quotes to Scrape:
url ="<http://quotes.toscrape.com/>"
## Quiero extraer el textode mi nodo h1.
$x('//h1/a/text()').map(x => x.wholeText)
# Devuelveen consola: ["Quotes to Scrape"]
# (La función map pertenece a Js yla estoy usando para
mostrar todo el texto de la
selección de Xpath)
#Estoy trayendo todos los atributos class de los nodosspan.
$x('//span/@class')
Para ser específicos con los datos a extraer se usan Predicados [ ]
Si desean ver directamente el elemento en la página y verificar su expresión. Se puede usar en la pestaña de Elements el comando Ctrl + F y poniendo directamente la expresión, el navegador de muestra el elemento en concreto. Por ejemplo: //h1/a/text()
