Cómo seleccionar una opción en un Dropdown List usando
En este tutorial, aprenderemos a manejar las operaciones con listas desplegables y selección múltiple con selenium webdriver.
Lista desplegable/Drop-Down List
Antes de poder controlar las listas desplegables, debemos hacer las siguientes dos cosas:
- Importar el paquete org.openqa.selenium.support.ui.Select
- Instanciar la lista desplegable como un objeto «Select» con webdriver
Como ejemplo, en la página de registro de Mercury Tours. Página que tendremos como material para los ejemplos. Observe el cuadro desplegable «Country» que se encuentra allí.
Nota: Recuerda que para obtener el atributo por el cual vamos a localizar el elemento se puede hacer uso del Inspeccionador de elementos del navegador o con Firebug.
También te recomiendo visitar si aún no lo has hecho Localizar elementos con Selenium WebDriver
Paso 1.
Importar el paquete Select perteneciente a selenium
import org.openqa.selenium.support.ui.Select;
Paso 2.
Declare la lista desplegable como una instancia de la clase Select. En el ejemplo siguiente, nombramos a esta instancia como «drpCountry».
Select drpCountry = new Select (driver.findElement(By.name("country")));
Paso 3.
Ahora podemos empezar a controlar «drpCountry» utilizando cualquiera de los métodos de selección disponibles. El código de ejemplo a continuación seleccionará la opción «Antártida».
drpCountry.selectByVisibleText("ANTARCTICA");
Selección de elementos en varios elementos SELECT
También podemos usar el método selectByVisibleText() para seleccionar varias opciones en un elemento multi Select. A modo de ejemplo, tomaremos http://jsbin.com/osebed/2 como la URL base. En el ejemplo tendremos un cuadro desplegable que permite varias selecciones a la vez.
El siguiente código seleccionará las dos primeras opciones usando el método selectByVisibleText().
public static void main (String[] args) { WebDriver driver = new FirefoxDriver(); driver.get("http://jsbin.com/osebed/2"); Select fruits = new Select (driver.findElement(By.id("fruits"))); fruits.selectByVisibleText("Banana"); fruits.selectByIndex(1); }
Métodos de la clase Select
Los siguientes son los métodos más comunes utilizados en los elementos desplegables.
Aquí está todo el código completo
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.firefox.marionette","C:\\geckodriver.exe"); String baseURL = "http://demo.guru99.com/selenium/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); } }
Resumen
Para controlar las listas desplegables, primero debe importar el paquete org.openqa.selenium.support.ui.Select y, a continuación, crear una instancia de selección.
Continúa visitando nuestros Tutoriales de Selenium WebDriver y hasta un experto cada día más. Si quieres que tratemos algún tema en especifico no dudes en ponerlo en los comentarios.
anderson
julianlujan1
Sebastian
julianlujan1
Sebastian
Sebastian
Miriam
julianlujan1
Luis Escalona
julianlujan1