Comment sélectionner une valeur dans la liste déroulante dans Selenium
Comment sélectionner la liste déroulante dans Selenium
Voici un processus étape par étape sur la façon de sélectionner une valeur dans la liste déroulante Selenium:
Avant de gérer la liste déroulante dans Selenium et pour contrôler les listes déroulantes, nous devons faire les deux choses suivantes :
- Importer le package org.openqa.selenium.support.ui.Select
- Instanciez la liste déroulante en tant qu'objet, sélectionnez dans Selenium pilote web
A titre d'exemple, allez sur Mercury Page d'inscription des visites (https://demo.guru99.com/test/newtours/register.php) et remarquez la liste déroulante « Pays ».
Étape 1) Importez le package « Select ».
import org.openqa.selenium.support.ui.Select;
Étape 2) Déclarez l'élément déroulant en tant qu'instance de la classe Select.
Dans l'exemple ci-dessous, nous avons nommé cette instance « drpCountry ».
Select drpCountry = new Select(driver.findElement(By.name("country")));
Étape 3) Commencez à le contrôler.
Nous pouvons maintenant commencer à contrôler « drpCountry » en utilisant l'une des méthodes de sélection disponibles pour sélectionner la liste déroulante dans Selenium. L’exemple de code ci-dessous sélectionnera l’option « ANTARCTIQUE ».
drpCountry.selectByVisibleText("ANTARCTICA");
Sélectionnez la classe dans Selenium
Vue d'ensemble Sélectionnez la classe dans Selenium est une méthode utilisée pour implémenter la balise HTML SELECT. La balise html select fournit des méthodes d'assistance pour sélectionner et désélectionner les éléments. La classe Select est une classe ordinaire, donc le mot-clé New est utilisé pour créer son objet et spécifie l'emplacement de l'élément Web.
Sélectionnez les méthodes dans Selenium
Voici les méthodes les plus courantes utilisées sur Selenium la liste déroulante.
#1) selectByVisibleText() et deselectByVisibleText()
- Sélectionne/désélectionne l'option qui affiche le texte correspondant au paramètre.
- Paramètre: Le texte exactement affiché d'une option particulière
Mise en situation :
drpCountry.selectByVisibleText("ANTARCTICA");
#2) selectByValue() et deselectByValue()
- Sélectionne/désélectionne l’option dont l’attribut « valeur » correspond au paramètre spécifié.
- N'oubliez pas que toutes les options déroulantes n'ont pas le même texte et la même « valeur », comme dans l'exemple ci-dessous.
- Paramètre: valeur de l'attribut "value"
Mise en situation :
drpCountry.selectByValue("234");
# 3) selectByIndex() et deselectByIndex()
- Sélectionne/désélectionne l’option à l’index donné.
- Paramètre: l'index de l'option à sélectionner.
Mise en situation :
drpCountry.selectByIndex(0);
#4) estMultiple()
- Renvoie TRUE si l'élément déroulant autorise plusieurs sélections à la fois ; FAUX sinon.
- Paramètre: Pas besoin
Exemple
if (drpCountry.isMultiple()) { //do something here }
#5) désélectionnerTout()
- Efface toutes les entrées sélectionnées. Ceci n'est valide que lorsque l'élément déroulant prend en charge plusieurs sélections.
- Paramètre: Pas besoin
Mise en situation :
drpCountry.deselectAll();
Code complet des méthodes de sélection dans 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); } }
Sélection d'éléments dans plusieurs éléments SELECT
Nous pouvons également utiliser le selectByVisibleText() méthode de sélection de plusieurs options dans un élément multi SELECT. A titre d'exemple, nous prendrons https://jsbin.com/osebed/2 comme URL de base. Il contient une liste déroulante qui permet plusieurs sélections à la fois.
Le code ci-dessous sélectionnera les deux premières options à l'aide de la méthode selectByVisibleText().
Résumé
Command | Description |
---|---|
selectByVisibleText()/
désélectionnerByVisibleText() |
sélectionne/désélectionne une option par son texte affiché |
selectByValue()/
désélectionnerByValue() |
sélectionne/désélectionne une option par la valeur de son attribut « valeur » |
selectByIndex()/
désélectionnerByIndex() |
sélectionne/désélectionne une option par son index |
estMultiple() | renvoie TRUE si l'élément déroulant permet une sélection multiple à la fois ; FAUX sinon |
tout déselectionner() | désélectionne toutes les options précédemment sélectionnées |
Pour contrôler les listes déroulantes, vous devez d'abord importer le package org.openqa.selenium.support.ui.Select, puis créer une instance Select.