Cum să selectați valoarea din meniul drop-down în Selenium
Cum să selectați meniul drop-down în Selenium
Următorul este un proces pas cu pas despre cum să selectați valoarea din meniul drop-down Selenium:
Înainte de a gestiona meniul derulant în Selenium și controlând casetele derulante, trebuie să facem următoarele două lucruri:
- Importă pachetul org.openqa.selenium.support.ui.Select
- Instanciați caseta derulantă ca obiect, Selectați în Selenium webdriver
De exemplu, accesați Mercury Pagina de înregistrare a tururilor (https://demo.guru99.com/test/newtours/register.php) și observați caseta derulantă „Țară” acolo.
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, am numit această instanță „drpCountry”.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Pasul 3) Începeți să-l controlați.
Acum putem începe să controlăm „drpCountry” utilizând oricare dintre metodele Select disponibile pentru a selecta meniul drop-down Selenium. Exemplul de cod de mai jos va selecta opțiunea „ANTARCTICA”.
drpCountry.selectByVisibleText("ANTARCTICA");
Selectați Clasă în Selenium
Selectați Clasă în Selenium este o metodă folosită pentru implementarea etichetei HTML SELECT. Eticheta html select oferă metode de ajutor pentru selectarea și deselectarea elementelor. Clasa Select este o clasă obișnuită, astfel încât cuvântul cheie New este folosit pentru a-și crea obiectul și specifică locația elementului web.
Selectați Metode în Selenium
Următoarele sunt cele mai frecvente metode utilizate Selenium lista verticală.
#1) selectByVisibleText() și deselectByVisibleText()
- Selectează/deselectează opțiunea care afișează textul care corespunde parametrului.
- Parametru: Textul afișat exact al unei anumite opțiuni
Exemplu:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) selectByValue() și deselectByValue()
- Selectează/deselectează opțiunea al cărei atribut „valoare” se potrivește cu parametrul specificat.
- Rețineți că nu toate opțiunile drop-down au același text și „valoare”, ca în exemplul de mai jos.
- Parametru: valoarea atributului „valoare”.
Exemplu:
drpCountry.selectByValue("234");
#3) selectByIndex() și deselectByIndex()
- Selectează/deselectează opțiunea la indexul dat.
- Parametru: indexul opțiunii de selectat.
Exemplu:
drpCountry.selectByIndex(0);
#4) este Multiplu()
- Returnează TRUE dacă elementul drop-down permite selecții multiple simultan; FALSE dacă altfel.
- Parametru: Nu e necesar
Exemplu
if (drpCountry.isMultiple()) { //do something here }
#5) deselectAll()
- Șterge toate intrările selectate. Acest lucru este valabil numai atunci când elementul drop-down acceptă selecții multiple.
- Parametru: Nu e necesar
Exemplu:
drpCountry.deselectAll();
Completați codul de selectare a metodelor în 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); } }
Selectarea articolelor dintr-un element SELECT Multiple
Putem folosi și selectByVisibleText() metoda de selectare a mai multor opțiuni într-un element SELECT multiplu. Ca exemplu, vom lua https://jsbin.com/osebed/2 ca URL de bază. Conține o casetă derulantă care permite selecții multiple simultan.
Codul de mai jos va selecta primele două opțiuni folosind metoda selectByVisibleText().
Rezumat
Comandă | Descriere |
---|---|
selectByVisibleText()/
deselectByVisibleText() |
selectează/deselectează o opțiune după textul afișat |
selectByValue()/
deselectByValue() |
selectează/deselectează o opțiune după valoarea atributului său „valoare”. |
selectByIndex()/
deselectByIndex() |
selectează/deselectează o opțiune după indexul său |
este Multiplu() | returnează TRUE dacă elementul drop-down permite selecții multiple simultan; FALSE dacă altfel |
deselectAll() | deselectează toate opțiunile selectate anterior |
Pentru a controla casetele derulante, trebuie mai întâi să importați pachetul org.openqa.selenium.support.ui.Select și apoi să creați o instanță Select.