2012-09-06 10 views
10

Estoy tratando de encontrar un enlace usando Selenium Webdriver. No quiero ubicarlo por texto de enlace, solo el enlace real que está escrito. Esto se puede hacer utilizando el elemento de búsqueda de Selenium mediante el método xpath, pero ¿cuál es la sintaxis cuando solo sé el comienzo de ese texto href, no el texto completo?Encontrar webelement con xpath comenzando con

Supongo que estoy buscando el localizador de enlaces xpath con algún tipo de comienzo con método. No tengo un código listo para esto.

Respuesta

17

Puede usar el start-with en xpath para buscar un valor de atributo que comience con un texto determinado.

Por ejemplo, suponga que tiene el siguiente enlace de la página:

<a href="mylink_somerandomstuff">link text</a> 

continuación, puede utilizar el siguiente XPath para encontrar enlaces que tienen un href que comienza con 'mivinculo':

//a[starts-with(@href, "mylink")] 
3

también puede utilizar contiene si no sabe lo que el href comienza con:

<a href="link_with_key_word_in.html">Link</a> 

Para encontrar este enlace, puede usar:

By.xpath("//a[contains(@href, 'key_word')]")); 
0

Simplemente instale estos complementos: Firebug y FirePath en Mozilla Firefox.

Ir al enlace en firefox e invocar firebug con la tecla F12.

A continuación, seleccione FirePath.

Haga clic en el botón del elemento de inspección y seleccione el elemento. Mostrará el xpath del elemento.

Ejemplo:

<input type = "text" id ="text-checking123"> </input> 

XPath del elemento será

//input[starts-with(@id, 'text-')] 

luego usarlo en código Java.

**Please do add comment, if the code works for you. It will help others to view the answer.**