Cómo seleccionar un valor de DropDown usando Selenium Webdriver

En este tutorial, aprenderemos cómo manejar DropDown en Selenium y operaciones de selección múltiple.

Seleccionar clase en selenio

La clase de selección en Selenium es un método utilizado para implementar la etiqueta SELECT de HTML. La etiqueta html select proporciona métodos auxiliares para seleccionar y deseleccionar los elementos. La clase Select es una clase ordinaria, por lo que la palabra clave New se usa para crear su objeto y especifica la ubicación del elemento web.

Seleccione la opción del cuadro desplegable

A continuación se muestra un proceso paso a paso sobre cómo seleccionar el valor del menú desplegable en Selenium:

Antes de manejar el menú desplegable en Selenium y controlar los cuadros desplegables, debemos hacer las siguientes dos cosas:

  1. Importe el paquete org.openqa.selenium.support.ui.Select
  2. Cree una instancia del cuadro desplegable como un objeto, seleccione en Selenium WebDriver

Como ejemplo, vaya a la página de registro de Mercury Tours (http://demo.guru99.com/test/newtours/register.php) y observe el cuadro desplegable "País" allí.

Paso 1

Importe el paquete "Seleccionar".

Paso 2

Declare el elemento desplegable como una instancia de la clase Select. En el siguiente ejemplo, nombramos esta instancia como "drpCountry".

Paso 3

Ahora podemos empezar a controlar "drpCountry" utilizando cualquiera de los métodos de selección disponibles para seleccionar el menú desplegable en Selenium. El código de muestra a continuación seleccionará la opción "ANTARCTICA".

Seleccionar elementos en varios elementos SELECT

También podemos usar el método selectByVisibleText () para seleccionar múltiples opciones en un elemento SELECT múltiple. Como ejemplo, tomaremos http://jsbin.com/osebed/2 como la URL base. Contiene un cuadro desplegable que permite múltiples selecciones a la vez.

El siguiente código seleccionará las dos primeras opciones usando el método selectByVisibleText ().

Seleccionar métodos

Los siguientes son los métodos más comunes utilizados en la lista desplegable de selenio.

Método Descripción
selectByVisibleText () y deselectByVisibleText () Ejemplo:
  • Selecciona / anula la selección de la opción que muestra el texto que coincide con el parámetro.
  • Parámetro : el texto que se muestra exactamente de una opción en particular
selectByValue () y deselectByValue () Ejemplo:
  • Selecciona / deselecciona la opción cuyo atributo "valor" coincide con el parámetro especificado.
  • Parámetro : valor del atributo "valor"
  • Recuerde que no todas las opciones desplegables tienen el mismo texto y "valor", como en el siguiente ejemplo.
selectByIndex () y deselectByIndex () Ejemplo:
  • Selecciona / anula la selección de la opción en el índice dado.
  • Parámetro : el índice de la opción a seleccionar.
isMultiple () Ejemplo:
  • Devuelve VERDADERO si el elemento desplegable permite varias selecciones a la vez; FALSO si no es así.
  • No se necesitan parámetros
deselectAll () Ejemplo:
  • Borra todas las entradas seleccionadas. Esto solo es válido cuando el elemento desplegable admite múltiples selecciones.
  • No se necesitan parámetros

Aquí está el código completo

paquete nuevo paquete;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.firefox.FirefoxDriver;importar org.openqa.selenium.support.ui.Select;import org.openqa.selenium.By;public class accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseURL = "http://demo.guru99.com/test/newtours/register.php";Controlador WebDriver = nuevo FirefoxDriver ();driver.get (baseURL);Seleccione drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTÁRTIDA");// Seleccionar elementos en varios elementos SELECTdriver.get ("http://jsbin.com/osebed/2");Seleccionar frutas = nuevo Seleccionar (driver.findElement (By.id ("frutas")));fruit.selectByVisibleText ("Plátano");fruit.selectByIndex (1);}}

Resumen

Elemento Mando Descripción
Caja desplegable selectByVisibleText () / deselectByVisibleText () selecciona / anula la selección de una opción por su texto mostrado
selectByValue () / deselectByValue () selecciona / anula la selección de una opción por el valor de su atributo "valor"
selectByIndex () / deselectByIndex () selecciona / deselecciona una opción por su índice
isMultiple () devuelve VERDADERO si el elemento desplegable permite una selección múltiple a la vez; FALSO si es de otra manera
deseleccionar todo () anula la selección de todas las opciones seleccionadas previamente

Para controlar los cuadros desplegables, primero debe importar el paquete org.openqa.selenium.support.ui.Select y luego crear una instancia Select.

Articulos interesantes...