Cum să selectați valoarea din meniul drop-down în Selenium
⚡ Rezumat inteligent
Selectați valoarea din meniul derulant din Selenium utilizează clasa Select dedicată pentru a controla elementele HTML SELECT. Clasa expune metodele selectByVisibleText, selectByValue și selectByIndex care selectează opțiunile cu precizie și acceptă liste derulante cu selecție multiplă.

Ce este clasa Select în Selenium?
Selectați clasa în Selenium este o clasă de ajutor din org.openqa.selenium.support.ui pachet care permite WebDriver să interacționeze cu HTML <select> elemente. Expune metode pentru selectarea și deselectarea opțiunilor după textul vizibil, valoare sau index și pentru detectarea dacă o listă derulantă acceptă selecții multiple.
pentru că Select este un obișnuit Java clasă, creați o instanță cu new cuvântul cheie și transmiteți WebElement-ul care indică către <select> etichetă pe pagină.
Cum să selectați meniul drop-down în Selenium
Înainte de a manipula o listă derulantă Selenium, sunt necesari doi pași:
- Importă pachetul org.openqa.selenium.support.ui.Select.
- Instanțiează meniul derulant ca
Selectobiect în Selenium WebDriver.
Ca exemplu, deschideți Mercury Pagina de înregistrare a tururilor (https://demo.guru99.com/test/newtours/register.php) și localizați meniul derulant „Țară”.
Pasul 1) Importați pachetul Select.
import org.openqa.selenium.support.ui.Select;
Pasul 2) Declarați elementul drop-down ca o instanță a clasei Select. În exemplul de mai jos, instanța este denumită drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Pasul 3) Începeți să controlați meniul derulant. Folosește orice metodă Select pentru a alege o opțiune. Exemplul de mai jos selectează „ANTARCTICA”:
drpCountry.selectByVisibleText("ANTARCTICA");
Selectați Metode în Selenium
Clasa Select oferă mai multe metode de interacțiune cu opțiunile din meniul derulant. Cele cinci cele mai comune sunt descrise mai jos.
1) selectByVisibleText() și deselectByVisibleText()
- Selectează sau deselectează opțiunea al cărei text afișat corespunde parametrului.
- Parametru: textul exact afișat pentru opțiune.
Exemplu:
drpCountry.selectByVisibleText("ANTARCTICA");
2) selectByValue() și deselectByValue()
- Selectează sau deselectează opțiunea a cărei
valueAtributul se potrivește cu parametrul. - Rețineți că textul afișat și
valueAtributele sunt adesea diferite, așa cum se arată mai jos. - Parametru: opțiunea
valueatribut.
Exemplu:
drpCountry.selectByValue("234");
3) selectByIndex() și deselectByIndex()
- Selectează sau deselectează opțiunea de la indexul dat. Indexurile au bază zero.
- Parametru: indicele întreg al opțiunii.
Exemplu:
drpCountry.selectByIndex(0);
4) esteMultiple()
- Returnări
TRUEdacă meniul derulant permite mai multe selecții simultan, altfelFALSE. - Parametru: nici unul.
Exemplu:
if (drpCountry.isMultiple()) {
// do something here
}
5) deselectAll()
- Șterge toate opțiunile selectate. Valabil doar pentru listele derulante cu selecție multiplă.
- Parametru: nici unul.
Exemplu:
drpCountry.deselectAll();
Completa Code de Selectare a Metodelor în Selenium
Următoarele Java Programul demonstrează clasa Select atât într-o meniu derulant cu selecție unică, cât și într-una cu selecție multiplă.
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);
}
}
Selectarea elementelor într-un element SELECT multiplu
selectByVisibleText() Metoda funcționează și cu liste derulante cu selecție multiplă. De exemplu, utilizați https://jsbin.com/osebed/2 ca bază URLExpune o listă derulantă care acceptă mai multe selecții simultan.
Fragmentul de mai jos selectează primele două opțiuni folosind selectByVisibleText():
Tabel de referință al metodei
Acest tabel rezumă fiecare metodă Select-class prezentată mai sus pentru o căutare rapidă.
| Comandă | Descriere |
|---|---|
| selectByVisibleText() / deselectByVisibleText() | Selectează sau deselectează o opțiune în funcție de textul afișat. |
| selectByValue() / deselectByValue() | Selectează sau deselectează o opțiune prin intermediul acesteia value atribut. |
| selectByIndex() / deselectByIndex() | Selectează sau deselectează o opțiune după indicele său cu bază zero. |
| este Multiplu() | Returnează TRUE dacă meniul derulant permite selecții multiple, altfel FALSE. |
| deselectAll() | Deselectează toate opțiunile selectate anterior dintr-o listă derulantă cu selecție multiplă. |
Pentru a controla casetele derulante, importați org.openqa.selenium.support.ui.Select mai întâi pachetul, apoi creați o instanță Select și apelați oricare dintre metodele de mai sus.

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