Cómo seleccionar un valor del menú desplegable en Selenium
Cómo seleccionar el menú desplegable en Selenium
A continuación se muestra un proceso paso a paso sobre cómo seleccionar un valor del menú desplegable en Selenium:
Antes de manejar el menú desplegable en Selenium y para controlar los cuadros desplegables, debemos hacer las dos cosas siguientes:
- Importar el paquete org.openqa.selenium.support.ui.Select
- Cree una instancia del cuadro desplegable como un objeto, seleccione en Selenium Controlador web
Como ejemplo, vaya a Mercury Página de registro de tours (https://demo.guru99.com/test/newtours/register.php) y observe el cuadro desplegable “País” allí.
Paso 1) Importe el paquete "Seleccionar".
import org.openqa.selenium.support.ui.Select;
Paso 2) Declarar el elemento desplegable como una instancia de la clase Seleccionar.
En el siguiente ejemplo, denominamos esta instancia como "drpCountry".
Select drpCountry = new Select(driver.findElement(By.name("country")));
Paso 3) Empieza a controlarlo.
Ahora podemos comenzar 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 "ANTÁRTICA".
drpCountry.selectByVisibleText("ANTARCTICA");
Seleccione Clase en Selenium
El Seleccione Clase en Selenium es un método utilizado para implementar la etiqueta HTML SELECT. La etiqueta de selección html proporciona métodos auxiliares para seleccionar y anular la selección de los elementos. La clase Select es una clase ordinaria, por lo que se utiliza la palabra clave New para crear su objeto y especifica la ubicación del elemento web.
Seleccionar métodos en Selenium
Los siguientes son los métodos más comunes utilizados en Selenium la lista desplegable.
#1) selectByVisibleText() y deseleccionarByVisibleText()
- Selecciona/deselecciona 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
Ejemplo:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) seleccionarByValue() y deseleccionarByValue()
- Selecciona/deselecciona la opción cuyo atributo “valor” coincide con el parámetro especificado.
- Recuerde que no todas las opciones desplegables tienen el mismo texto y "valor", como en el siguiente ejemplo.
- Parámetro: valor del atributo “valor”
Ejemplo:
drpCountry.selectByValue("234");
#3) seleccionarByIndex() y deseleccionarByIndex()
- Selecciona/deselecciona la opción en el índice dado.
- Parámetro: el índice de la opción a seleccionar.
Ejemplo:
drpCountry.selectByIndex(0);
#4) esMúltiple()
- Devuelve VERDADERO si el elemento desplegable permite múltiples selecciones a la vez; FALSO en caso contrario.
- Parámetro: Innecesario
Ejemplo
if (drpCountry.isMultiple())
{
//do something here
}
#5) deseleccionar todo()
- Borra todas las entradas seleccionadas. Esto solo es válido cuando el elemento desplegable admite múltiples selecciones.
- Parámetro: Innecesario
Ejemplo:
drpCountry.deselectAll();
Código completo de métodos seleccionados en Selenium
package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import 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 = "https://demo.guru99.com/test/newtours/register.php";
WebDriver driver = new FirefoxDriver();
driver.get(baseURL);
Select drpCountry = new Select(driver.findElement(By.name("country")));
drpCountry.selectByVisibleText("ANTARCTICA");
//Selecting Items in a Multiple SELECT elements
driver.get("http://jsbin.com/osebed/2");
Select fruits = new Select(driver.findElement(By.id("fruits")));
fruits.selectByVisibleText("Banana");
fruits.selectByIndex(1);
}
}
Seleccionar elementos en varios elementos SELECT
También podemos usar el seleccionarPorTextoVisible() método para seleccionar múltiples opciones en un elemento SELECT múltiple. Como ejemplo, tomaremos https://jsbin.com/osebed/2 como URL base. Contiene un cuadro desplegable que permite realizar múltiples selecciones a la vez.
El siguiente código seleccionará las dos primeras opciones utilizando el método selectByVisibleText().
Resumen
| Comando | Descripción |
|---|---|
| seleccionarPorTextoVisible()/
deseleccionarByVisibleText() |
Selecciona/deselecciona una opción por el texto que se muestra |
| seleccionarPorValor()/
deseleccionarPorValor() |
selecciona/deselecciona una opción por el valor de su atributo “valor” |
| seleccionarPorÍndice()/
deseleccionarPorÍndice() |
selecciona/deselecciona una opción por su índice |
| esMúltiple() | devuelve VERDADERO si el elemento desplegable permite selección múltiple a la vez; FALSO en caso contrario |
| deseleccionar todo() | deselecciona todas las opciones previamente seleccionadas |
Para controlar los cuadros desplegables, primero debe importar el paquete org.openqa.selenium.support.ui.Select y luego crear una instancia de Select.

.png)
.png)
.png)
.png)