[predicado]: Para encontrar nuestra información debemos ser más específicos, para ello sirve los predicados.
Cuando necesitamos un numero especifico dentro ese numero de nodos podemos utilizar [ ]
como si fuera una lista, entonce llamamos el numero en el que esta ordenado esa etiqueta:
$x('/hrml/body/div/div[1]')
nos devolveria el div [1]
dentro de la anterior busuqueda (el primero arranca desde 1 y no desde 0)
$x('/hrml/body/div/div[last()]')
podemos pedir el ultimo con las sentencia last
$x('//span[@class]')
aqui solicitamos todos lo espam que tengan al menos un elemento de tipo class
$x('//span[@class="text"]')
pedimos una clase determinada, en este ejemplo solo pedimos la clase text
Ejemplos:
#Para extraer solo uno de los div del div container usamos un predicado
$x('/html/body/div/div[1]')
#Devuelve [div.row.header-box]
$x('//span[@class="text"]/text()').map(x=>x.wholeText)
#Devuelve (10) ["“The world as we have created it is a process of o…cannot be changed without changing our thinking.”", "“It is our choices, Harry, that show what we truly are, far more than our abilities.”"]
(etc, etc lo corto ahí pero es más largo)
Aunque un predicado por sí solo, no siempre funciona. Para ser más específicos necesitamos Operadores