<span class='python'>
<a>google</a>
<a>chrome</a>
</span>
Quiero obtener chrome
y lo tengo funcionando así.Obtener el segundo elemento de texto con XPath?
q = item.findall('.//span[@class="python"]//a')
t = q[1].text # first element = 0
Me gustaría combinarlo en una sola expresión XPath y solo obtener un elemento en lugar de una lista.
Intenté esto pero no funciona.
t = item.findtext('.//span[@class="python"]//a[2]') # first element = 1
Y el HTML actual, no simplificado, es así.
<span class='python'>
<span>
<span>
<img></img>
<a>google</a>
</span>
<a>chrome</a>
</span>
</span>
Su expresión './/span[@class="python "] // a [2]' funciona para mí. –
Hmmm parece que tengo un error en alguna parte, o la simplificación del HTML real que publiqué es demasiado fácil. Lo intentaré y luego modificaré la pregunta. –
@pdnsk: Buena pregunta, +1. Ver mi respuesta para una explicación y una solución simple. :) –