html xpath siblings scraper

html - XPath:: Obtenga los siguientes hermanos



siblings scraper (3)

Deberías buscar el segundo tru que tiene el td que es igual a ''Color Digest'', luego debes mirar al hermano siguiente de la primera td en el tr, o al segundo td.

Pruebe lo siguiente:

//tr[td=''Color Digest''][2]/td/following-sibling::td[1]

o

//tr[td=''Color Digest''][2]/td[2]

http://www.xpathtester.com/saved/76bb0bca-1896-43b7-8312-54f924a98a89

Tengo la siguiente estructura de HTML: estoy tratando de construir un método robusto para extraer el segundo elemento de resumen de color ya que habrá muchas de estas etiquetas dentro del DOM.

<table> <tbody> <tr bgcolor="#AAAAAA"> <tr> <tr> <tr> <tr> <td>Color Digest </td> <td>AgArAQICGQMVBBwTIRQHIwg0GUMURAZTBWQJcwV0AoEDAQ </td> </tr> <tr> <td>Color Digest </td> <td>2,43,2,25,21,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td> </tr> </tbody> </table>

Estoy tratando de extraer el segundo elemento td "Color Digest" que tiene el valor decodificado.

Escribí el siguiente xpath pero en vez de obtener el segundo no recibo el segundo elemento td.

//td[text() = '' Color Digest '']/following-sibling::td[2]

Y cuando lo cambio a td [2] a td [1] obtengo ambos elementos.


Puede buscar una lista de elementos con xPath:

//td[text() = '' Color Digest '']/following-sibling::td[1]

Esto le dará una lista de dos elementos, que puede usar el segundo elemento como su objetivo. Por ejemplo:

List<WebElement> elements = driver.findElements(By.xpath("//td[text() = '' Color Digest '']/following-sibling::td[1]"))

Ahora, puedes usar el segundo elemento como tu elemento previsto, que es elements.get (1)


/html/body/table/tbody/tr[9]/td[1]

En Chrome (también Safari posible) puedes inspeccionar un elemento, luego hacer clic derecho en la etiqueta para la que quieres obtener el xpath, luego puedes copiar el xpath para seleccionar ese elemento.