Estoy tratando de usar Selenium RC y WebDriver (por separado) para manipular una página HTML. La fuente contiene algo como:XPath interpretación por Selenium/WebDriver manejando IE
<a href="/logoff"><span>
<span>L</span>
ogoff
</span>
</a>
que desea orientar el enlace que contiene el texto 'Cerrar sesión', de tal manera que seguirá funcionando incluso si se rehacen los vanos. Estoy usando XPath ya que debería funcionar tanto en WebDriver como en Selenium RC. Esto funciona en IE pero es un poco frágil:
//a[contains(., 'ogoff')]
y esto sería más robusto, pero no funciona:
//a[.='Logoff']
Puede explicar por qué el segundo no funciona? En particular, ¿cómo debe interpretarse .
como una cadena, y cómo lo hacen Selenium y WebDriver?
Estoy tratando de hacer que Selenium funcione también con Firefox, por lo que se abrirá otro hervidero de gusanos.
+1 Buena explicación. –
Gracias por la explicación del manejo de espacio en blanco. Quizás XPath debería tener una sintaxis abreviada para 'normalize-space()' y para 'translate (., '', '')' Ya que son muy útiles. –