Encuentre elementos y FindElements por XPath en Selenium WebDriver

Tabla de contenido:

Anonim

¿Por qué necesita el comando Buscar elemento / s?

La interacción con una página web requiere que el usuario localice el elemento web. El comando Buscar elemento se utiliza para identificar de forma única un (un) elemento web dentro de la página web. Considerando 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 FindElement:

El comando Selenium Find Element toma el objeto By como parámetro y devuelve un objeto de tipo list 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 el controlador web Selenium.

WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));

La estrategia del localizador puede ser cualquiera de los siguientes valores.

  • IDENTIFICACIÓN
  • Elemento de búsqueda de selenio 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 el ID o el nombre.

Ejemplo:

WebElement loginLink = driver.findElement (By.linkText ("Iniciar sesión"));

Sintaxis del comando FindElements:

El comando FindElements in Selenium toma By object 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.

List  elementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Ejemplo:

List  listOfElements = driver.findElements (By.xpath ("// div"));

Buscar elemento Vs Buscar elementos

A continuación se muestran las principales diferencias entre los comandos de búsqueda de elementos y de búsqueda de elementos.

Encontrar elemento Vs Encontrar elementos en Selenio
Encontrar elemento Buscar elementos
Devuelve el primer elemento más 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.
Find element by XPath solo encontrará un elemento web Encontrará una colección de elementos que coinciden con la estrategia del localizador.
No aplica Cada elemento web está indexado con un número que comienza desde 0 como una matriz

Ejemplo: cómo utilizar el comando Buscar elemento

La siguiente aplicación se utiliza con fines de demostración

http://demo.guru99.com/test/ajax.html

Guión:

1. Abra la AUT

2. Busque y haga clic en el botón de opción

package com.sample.stepdefinitions;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.chrome.ChromeDriver;clase pública NameDemo {public static void main (String [] args) {// TODO código auxiliar de método generado automáticamenteSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Controlador WebDriver = nuevo ChromeDriver ();driver.manage (). window (). maximizar ();driver.get ("http://demo.guru99.com/test/ajax.html");// Busque el botón de opción "No" usando su ID y haga clic en éldriver.findElement (By.id ("no")). click ();// Haga clic en el botón Comprobardriver.findElement (By.id ("buttoncheck")). click ();}}

Ejemplo: cómo utilizar el comando Buscar elementos

Guión:

1. Abra la URL de la aplicación en prueba.

2. Busque el texto de los botones de opción e imprímalo en la consola de salida.

package com.sample.stepdefinitions;import java.util.List;import org.openqa.selenium.By;importar org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;importar org.openqa.selenium.chrome.ChromeDriver;clase pública NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Controlador WebDriver = nuevo ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Lista  elementos = driver.findElements (By.name ("nombre"));System.out.println ("Número de elementos: + elements.size ());para (int i = 0; i 

Resumen:

  • El comando Buscar elemento devuelve el elemento web que coincide con el primer elemento más dentro de la página web.
  • El comando Buscar elementos devuelve una lista de elementos web que coinciden con los criterios.
  • El comando Find Element by XPath in Selenium arroja NoSuchElementException si no encuentra el elemento que coincide con los criterios.
  • El comando Buscar elementos devuelve una lista vacía en Selenium si no hay elementos que coincidan con los criterios