Cómo hacer clic en un enlace usando xpath y selenium ide
Frecuentes
Visto 14,229 equipos
0
Soy nuevo tanto en xpath como en selenium y necesito poder hacer clic en un enlace con selenium en función del clima o no en un lapso como un texto determinado. código de ejemplo es:
<div>
<span>Fri</span>
<ul>
<li>
<a href=#></a>
</li>
</ul>
</div>
<div>
<span>Sat</span>
<ul>
<li>
<a href=#></a>
</li>
</ul>
</div>
mi xpath es //*[text()[contains(.,'Fri')]]
que encuentra el lapso correcto, ahora pensé que podría usar //*[text()[contains(.,'Fri')]]../ul/li/a
pero eso no funciona.
¿Alguna idea?
1 Respuestas
3
El comando Selenium IDE será:
command: click
target : //span[contains(text(),'Fri')]/following::a
Desde aquí:
siguiente:: Todos los nodos que están después del nodo de contexto en el árbol, excluyendo los descendientes, los nodos de atributo y los nodos de espacio de nombres.
Tenga en cuenta que no puede escribir [1]
al final de la expresión xpath para seleccionar el primer nodo de todas las apariciones, ya que el IDE de selenio lo hace de forma predeterminada.
A medida que usa IDE, también puede usar un selector css más fácil de leer:
command: click
target : css=span:contains('Fri')+ul a
En cuanto a tu xpath inicial, te perdiste una barra antes ../
:
//*[text()[contains(.,'Fri')]]/../ul/li/a
contestado el 03 de mayo de 12 a las 20:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas xpath selenium or haz tu propia pregunta.
excelente, gracias por el desglose, usando su consejo pude hacerlo funcionar con lo siguiente:
//span[text()[contains(.,'10')]]/../ul/li/a/
sin embargo, para artículos futuros, creo que usaré el selector css, ¡ya que parece más fácil! - Scott-David Jones