Comment sélectionner une valeur dans la liste déroulante dans Selenium
⚡ Résumé intelligent
Sélectionnez une valeur dans la liste déroulante. Selenium Utilise la classe Select dédiée pour contrôler les éléments HTML SELECT. Cette classe expose les méthodes selectByVisibleText, selectByValue et selectByIndex qui permettent de sélectionner précisément les options et prennent en charge les listes déroulantes à sélection multiple.

Qu'est-ce que la classe Select dans Selenium?
Le Sélectionnez la classe dans Selenium est une classe d'assistance du org.openqa.selenium.support.ui package permettant à WebDriver d'interagir avec HTML <select> Il expose des méthodes permettant de sélectionner et de désélectionner des options par texte visible, valeur ou index, et de détecter si une liste déroulante accepte plusieurs sélections.
Parce que Select est un habitué Java classe, vous créez une instance avec la new mot-clé et transmettez l'élément Web qui pointe vers le <select> balise sur la page.
Comment sélectionner la liste déroulante dans Selenium
Avant de gérer une liste déroulante dans Selenium, deux étapes sont nécessaires :
- Importer le package org.openqa.selenium.support.ui.Select.
- Instanciez la liste déroulante comme un
Selectobjet dans Selenium Pilote Web.
Par exemple, ouvrez le Mercury Page d'inscription des visites (https://demo.guru99.com/test/newtours/register.php) et repérez le menu déroulant « Pays ».
Étape 1) Importer le package Select.
import org.openqa.selenium.support.ui.Select;
Étape 2) Déclarez l'élément déroulant comme instance de la classe Select. Dans l'exemple ci-dessous, l'instance est nommée drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Étape 3) Commencez à contrôler le menu déroulant. Utilisez n'importe quelle méthode de sélection pour choisir une option. L'exemple ci-dessous sélectionne « ANTARCTIQUE » :
drpCountry.selectByVisibleText("ANTARCTICA");
Sélectionnez les méthodes dans Selenium
La classe Select propose plusieurs méthodes pour interagir avec les options des listes déroulantes. Les cinq plus courantes sont décrites ci-dessous.
1) selectByVisibleText() et deselectByVisibleText()
- Sélectionne ou désélectionne l'option dont le texte affiché correspond au paramètre.
- Paramètre: le texte exact affiché pour cette option.
Exemple :
drpCountry.selectByVisibleText("ANTARCTICA");
2) selectByValue() et deselectByValue()
- Sélectionne ou désélectionne l'option dont
valueL'attribut correspond au paramètre. - Notez que le texte affiché et le
valueLes attributs sont souvent différents, comme indiqué ci-dessous. - Paramètre: l'option
valueattribuer.
Exemple :
drpCountry.selectByValue("234");
3) selectByIndex() et deselectByIndex()
- Permet de sélectionner ou de désélectionner l'option à l'index indiqué. Les index commencent à zéro.
- Paramètre: l'indice entier de l'option.
Exemple :
drpCountry.selectByIndex(0);
4) estMultiple()
- Retours de produits
TRUEsi la liste déroulante autorise plusieurs sélections simultanées, sinonFALSE. - Paramètre: aucun.
Exemple :
if (drpCountry.isMultiple()) {
// do something here
}
5) désélectionnerTout()
- Efface toutes les options sélectionnées. Valable uniquement pour les listes déroulantes à sélection multiple.
- Paramètre: aucun.
Exemple :
drpCountry.deselectAll();
Code de méthodes de sélection dans Selenium
Java Ce programme illustre l'utilisation de la classe Select dans une liste déroulante à sélection unique et dans une liste déroulante à sélection multiple.
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);
// Single-select drop-down
Select drpCountry = new Select(driver.findElement(By.name("country")));
drpCountry.selectByVisibleText("ANTARCTICA");
// Multi-select drop-down
driver.get("http://jsbin.com/osebed/2");
Select fruits = new Select(driver.findElement(By.id("fruits")));
fruits.selectByVisibleText("Banana");
fruits.selectByIndex(1);
}
}
Sélection d'éléments dans un élément SELECT multiple
Le selectByVisibleText() Cette méthode fonctionne également avec les listes déroulantes à sélection multiple. Par exemple, utilisez https://jsbin.com/osebed/2 que la base URLElle affiche une liste déroulante qui accepte plusieurs sélections simultanément.
L'extrait ci-dessous sélectionne les deux premières options en utilisant selectByVisibleText():
Tableau de référence de la méthode
Ce tableau récapitule toutes les méthodes de la classe Select présentées ci-dessus pour une consultation rapide.
| Command | Description |
|---|---|
| sélectionnerParTexteVisible() / désélectionnerParTexteVisible() | Permet de sélectionner ou de désélectionner une option en fonction de son texte affiché. |
| sélectionnerParValeur() / désélectionnerParValeur() | Sélectionne ou désélectionne une option par son value attribuer. |
| sélectionnerParIndex() / désélectionnerParIndex() | Sélectionne ou désélectionne une option en fonction de son index (à partir de zéro). |
| estMultiple() | Renvoie VRAI si la liste déroulante autorise plusieurs sélections, sinon FAUX. |
| tout déselectionner() | Désélectionne toutes les options précédemment sélectionnées dans une liste déroulante à sélection multiple. |
Pour contrôler les listes déroulantes, importez le org.openqa.selenium.support.ui.Select Commencez par créer un package, puis créez une instance Select et appelez l'une des méthodes ci-dessus.

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