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.
.png)
Variación | Descripción | Muestra |
---|---|---|
By.className | Encuentra elementos basados en el valor del atributo «class» | findElement(By.className(«algúnnombreclase»)) |
By.cssSelector | Encuentra elementos basados en el motor selector CSS subyacente del controlador | findElement(By.cssSelector(«input#email»)) |
By.id | localiza los elementos por el valor de su atributo «ID» | findElement(By.id(«algunID»)) |
By.linkText | Encuentra un elemento link con el texto exacto que muestra | findElement(By.linkText(«AlgunTexto»)) |
By.name | Localiza los elementos por el valor del atributo «Name» | findElement(By.name(«AlgunName»)) |
By.partialLinkText | Localiza elementos que contienen el texto de enlace dado | findElement(By.partialLinkText(«REG»)) |
By.tagName | Localiza elementos por su nombre de etiqueta | findElement(By.tagName(«etiqueta»)) |
By.xpath | Localiza elementos mediante XPath | findElement(By.xpath(«rutacpath«)) |
rosebk
julianlujan1
Pingback: Acceso a Links utilizando Selenium WebDriver - Tutorial Selenium