2009-11-13 16 views
5

Estoy escribiendo Selenium script. Para una página html incluya una tabla, no puedo usar "css = tabla tr: nth-child (2) td: nth-child (3) a" para ubicar el enlace en la tabla. Selenium IDE me da el "localizador de [error] no encontrado".Selenium: no se puede encontrar el enlace en la tabla

Pero use "css = tabla tr: nth-child (2)", puede ubicar en la fila. Entonces, ¿me equivoco con el localizador de css? Creo que agregar el "td: nth-child (3) a" debería funcionar para el enlace en td, ¿por qué no?

Editar: Estoy usando Firefox 3.0.15

Respuesta

8

Dado el HTML:

<html> 
    <body> 
    <table> 
     <tr><td>Hello</td><td>World</td></tr> 
     <tr><td>I'm</td><td><a href="http://www.example.com/">Batman</a></td></tr> 
    </table> 
    </body> 
</html> 

Usted puede utilizar el siguiente localizador para el enlace en la segunda columna de la segunda fila:

css=tr:nth-child(2) > td:nth-child(2) > a 

actualización:

Después de una un poco de investigación, parece que su localizador original debería funcionar, pero no lo hace debido a un error en la biblioteca cssQuery utilizada por Selenium (http://jira.openqa.org/browse/SEL-698). Mi sugerencia anterior funciona, pero en realidad es solo una solución hasta que se solucione el error. Desafortunadamente, teniendo en cuenta que cssQuery no se ha actualizado durante un tiempo, no estoy seguro de cuán pronto se resolverá.

+0

Funciona, gracias. – zhongshu

0

Un problema similar es todavía alrededor de Selenium IDE 2.1.0

Estoy probando un conjunto de sitios web para comprobar si una dirección URL específica ha sido cambiado.

El enlace se supone que debo comprobar si está en una mesa, a los 25 minutos o así tr desde la parte superior ...

<tr> 
<td> 
<div align="center"> 
<font color="#FFFFFF"> 
<a target="_blank" href="http://[The link I need to test] ... 

Yo he usado tanto

assertElementPresent //*[starts-with(@href,'The Link')] 

y

assertElementPresent //*[contains(@*,'The Link')] 

En algunos casos, el primero encontrará un resultado, pero el segundo no. La mayoría de las veces ninguno encontrará el Enlace.

Cuestiones relacionadas