Espero que alguien pueda dirigirme rápidamente en la dirección correcta con mis dificultades XPath.XPath para localizar una celda con texto específico que analiza tablas HTML
Actual Llegué al punto en el que identifico la tabla correcta que necesito en mi fuente HTML pero luego necesito procesar solo las filas que tienen el texto 'Capítulo' en algún lugar del DOM.
Mi último intento fue hacer esto:
// get the correct table
HtmlTable table = page.getFirstByXPath("//table[2]");
// now the failing bit....
def rows = table.getByXPath("*/td[contains(text(),'Chapter')]")
pensé que el XPath anterior representaría, dame todos los elementos que tienen un siguiente elemento secundario de 'td' que en algún lugar en su dom contiene el texto ' capítulo'
un ejemplo de una fila a juego de mi fuente es:
<tr valign="top">
<td nowrap="" align="Right">
<font face="Verdana">
<a href="index.cfm?a=1">Chapter 1</a>
</font>
</td>
<td class="ChapterT">
<font face="Verdana">DEFINITIONS</font>
</td>
<td> </td>
</tr>
Cualquier ayuda/punteros muy apreciados.
Gracias,
Gracias, eso parece funcionar Lo que hace el '.' ¿representar? Además, no entiendo por qué la detección 'reletive' no funciona, p. tienes // que, como yo entiendo, significa comenzar en la raíz? – Dave
@Dave, De nada. '.' y' // 'es la sintaxis abreviada de XPath. '.' selecciona el nodo de contexto. '// td' selecciona todos los descendientes' td' de la raíz del documento y, por lo tanto, selecciona todos los elementos 'td' en el mismo documento que el nodo de contexto. * Referencia *: http://www.w3.org/TR/xpath/#path-abbrev –