Cómo hacer clic en un enlace usando xpath y selenium ide

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?

preguntado el 03 de mayo de 12 a las 20:05

1 Respuestas

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

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

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.