FindElement por XPath en Selenium
ยฟPor quรฉ necesita el comando Buscar elemento(s)?
La interacciรณn con una pรกgina web requiere que el usuario ubique el elemento web. El comando Buscar elemento se utiliza para identificar de forma รบnica un (un) elemento web dentro de la pรกgina web. Mientras que el comando Buscar elementos se utiliza para identificar de forma รบnica la lista de elementos web dentro de la pรกgina web. Hay varias formas de identificar de forma รบnica un elemento web dentro de la pรกgina web, como ID, nombre, nombre de clase, texto de enlace, texto de enlace parcial, nombre de etiqueta y XPATH.
Sintaxis del comando BuscarElemento
WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));
Selenium El comando Buscar elemento toma el objeto Por como parรกmetro y devuelve un objeto de tipo lista WebElement en Selenium. Por objeto, a su vez, se puede utilizar con varias estrategias de localizaciรณn, como buscar elemento por ID. Selenium, Nombre, Nombre de clase, XPATH, etc. A continuaciรณn se muestra la sintaxis del comando FindElement en Selenium controlador web.
La estrategia de localizaciรณn puede ser cualquiera de los siguientes valores.
- ID
- Selenium buscar elemento por nombre
- Nombre de la clase
- Nombre de etiqueta
- Texto del enlace
- Texto de enlace parcial
- XPATH
El valor del localizador es el valor รบnico mediante el cual se puede identificar un elemento web. Es responsabilidad de los desarrolladores y evaluadores asegurarse de que los elementos web sean identificables de forma รบnica mediante determinadas propiedades, como ID o nombre.
Ejemplo:
WebElement loginLink = driver.findElement(By.linkText("Login"));
Ejemplo: buscar elemento en Selenium
La siguiente aplicaciรณn se utiliza con fines de demostraciรณn.
https://demo.guru99.com/test/ajax.html
Escenario:
Paso 1: Abrir la AUT
Paso 2: Busque y haga clic en el botรณn de opciรณn
package com.sample.stepdefinitions;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://demo.guru99.com/test/ajax.html");
// Find the radio button for โNoโ using its ID and click on it
driver.findElement(By.id("no")).click();
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();
}
}
Sintaxis del comando BuscarElementos
List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));
Buscar elementos en Selenium El comando toma Por objeto como parรกmetro y devuelve una lista de elementos web. Devuelve una lista vacรญa si no se encuentran elementos utilizando la estrategia de localizador y el valor de localizador dados. A continuaciรณn se muestra la sintaxis del comando buscar elementos.
Ejemplo:
List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));
Ejemplo: buscar elementos en Selenium
Escenario:
Paso 1: Abra la URL de la aplicaciรณn bajo prueba
Paso 1: Busque el texto de los botones de radio e imprรญmalo en la consola de salida
package com.sample.stepdefinitions;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://demo.guru99.com/test/ajax.html");
List<WebElement> elements = driver.findElements(By.name("name"));
System.out.println("Number of elements:" +elements.size());
for (int i=0; i<elements.size();i++){
System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
}
}
}
Buscar elemento Vs Buscar elementos
A continuaciรณn se detallan las principales diferencias entre los comandos buscar elemento y buscar elementos.

| Buscar elemento | Buscar elementos |
|---|---|
| Devuelve el primer elemento web si se encuentran varios elementos web con el mismo localizador | Devuelve una lista de elementos web. |
| Lanza la excepciรณn NoSuchElementException si no hay elementos que coincidan con la estrategia del localizador. | Devuelve una lista vacรญa si no hay elementos web que coincidan con la estrategia del localizador |
| Buscar elemento por XPath solo encontrarรก un elemento web | Encontrarรก una colecciรณn de elementos que coincidan con la estrategia del localizador. |
| No aplicable | Cada elemento web estรก indexado con un nรบmero que comienza en 0, como una matriz. |
Resumen
- El comando Buscar elemento devuelve el elemento web que coincide con el primer elemento dentro de la pรกgina web.
- El comando Buscar elementos devuelve una lista de elementos web que coinciden con los criterios.
- Buscar elemento por XPath en Selenium El comando lanza NoSuchElementException si no encuentra el elemento que coincida con los criterios.
- El comando Buscar elementos devuelve una lista vacรญa en Selenium si no hay elementos que coincidan con los criterios
