Localizar elementos con Selenium WebDriver

Localizar elementos GUI con Selenium Webdriver

La localización de elementos en Selenium Webdriver se realiza utilizando el método «findElement(By.locator())« La parte «Locator» del código es la misma que cualquiera de los localizadores anteriormente discutidos en la entrada Localizadores en Selenium IDE del Tutorial Selenium IDE. De hecho, se recomienda localizar elementos GUI utilizando Selenium IDE y una vez identificado con éxito exportar el código a Selenium Webdriver (Esto para principiantes en selenium webdriver).

A continuación se muestra un código de ejemplo que ubica un elemento por su ID. Facebook se utiliza como la URL base.

package newproject;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class PG2 {
public static void main(String[] args) {
System.setProperty("webdriver.firefox.marionette","C:\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
String baseUrl = "http://www.facebook.com";
String tagName = "";

driver.get(baseUrl);
tagName = driver.findElement(By.id("email")).getTagName();
System.out.println(tagName);
driver.close();
System.exit(0);
}
}

Utilizamos el método getTagName() para extraer el nombre de etiqueta de ese elemento en particular cuyo identificador es «email». Cuando se ejecute, este código debe ser capaz de identificar correctamente el nombre de etiqueta «Input» y lo imprimirá en la ventana de la consola de Eclipse.

Selenium Webdriver Localizadores
Resumen para la localización de elementos
 
VariaciónDescripciónMuestra
By.classNameEncuentra elementos basados en el valor del atributo «class»findElement(By.className(«algúnnombreclase»))
By.cssSelectorEncuentra elementos basados en el motor selector CSS subyacente del controladorfindElement(By.cssSelector(«input#email»))
By.idlocaliza los elementos por el valor de su atributo «ID»findElement(By.id(«algunID»))  
By.linkTextEncuentra un elemento link con el texto exacto que muestrafindElement(By.linkText(«AlgunTexto»))  
By.nameLocaliza los elementos por el valor del atributo «Name»findElement(By.name(«AlgunName»))  
By.partialLinkTextLocaliza elementos que contienen el texto de enlace dadofindElement(By.partialLinkText(«REG»))  
By.tagNameLocaliza elementos por su nombre de etiquetafindElement(By.tagName(«etiqueta»))  
By.xpathLocaliza elementos mediante XPathfindElement(By.xpath(«rutacpath«))

Nota sobre el uso de findElement (by. cssSelector ())

By.cssSelector() no admite la función «contains«. Considere el código del Selenium IDE.
 
Selenium Webdriver Localizadores
En el Selenium IDE de arriba, toda la prueba pasó. Sin embargo, en la secuencia de comandos de Webdriver que aparece a continuación, la misma prueba generó un error debido a que Webdriver no admite la palabra clave «Contains» cuando se utiliza en el método cssSelector().
 
Selenium Webdriver Localizadores
Esto es solo el inicio y es una forma de seleccionar los elementos de la interfaz gráfica de tu aplicativo web para las personas que están familiarizadas con el uso de Selenium IDE.
En la siguiente entrada ponemos en practica aun más los selectores, te invito a verla en el siguiente enlace: 

Compartir artículo

3 Comments

  1. Responder

    Hats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us.

  2. Pingback: Acceso a Links utilizando Selenium WebDriver - Tutorial Selenium

Leave Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.