Kako odabrati vrijednost iz padajućeg izbornika u Selenium
⚡ Pametni sažetak
Odaberite vrijednost iz padajućeg izbornika u Selenium Koristi namjensku klasu Select za kontrolu HTML SELECT elemenata. Klasa izlaže metode selectByVisibleText, selectByValue i selectByIndex koje precizno biraju opcije i podržavaju padajuće izbornike s višestrukim odabirom.

Što je odabrana klasa u Selenium?
The Odaberite razred u Selenium je pomoćna klasa iz org.openqa.selenium.support.ui paket koji omogućuje WebDriveru interakciju s HTML-om <select> elementi. Izlaže metode za odabir i poništavanje odabira opcija prema vidljivom tekstu, vrijednosti ili indeksu te za otkrivanje prihvaća li padajući izbornik višestruke odabire.
Jer Select je redovito Java razred, stvarate instancu s new ključnu riječ i proslijedite WebElement koji pokazuje na <select> oznaku na stranici.
Kako odabrati padajući izbornik u Selenium
Prije rukovanja padajućim izbornikom u Selenium, potrebna su dva koraka:
- Uvezi paket org.openqa.selenium.support.ui.Select.
- Instancirajte padajući izbornik kao
Selectobjekt u Selenium WebDriver.
Kao primjer, otvorite Mercury Stranica za registraciju izleta (https://demo.guru99.com/test/newtours/register.php) i pronađite padajući izbornik "Država".
Korak 1) Uvezite paket Select.
import org.openqa.selenium.support.ui.Select;
Korak 2) Deklarirajte padajući element kao instancu klase Select. U donjem primjeru, instanca je nazvana drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Korak 3) Počnite kontrolirati padajući izbornik. Upotrijebite bilo koju metodu odabira za odabir opcije. Primjer u nastavku odabire „ANTARKTIKA“:
drpCountry.selectByVisibleText("ANTARCTICA");
Odaberite Metode u Selenium
Klasa Select pruža nekoliko metoda za interakciju s padajućim izbornikima. Pet najčešćih opisano je u nastavku.
1) odaberiPoVisibleText() i poništi odabirPoVisibleText()
- Odabire ili poništava odabir opcije čiji prikazani tekst odgovara parametru.
- Parametar: točan tekst prikazan za opciju.
Primjer:
drpCountry.selectByVisibleText("ANTARCTICA");
2) odaberiPoVrijednosti() i poništi odabirPoVrijednosti()
- Odabire ili poništava odabir opcije čija
valueatribut odgovara parametru. - Imajte na umu da prikazani tekst i
valueatributi se često razlikuju, kao što je prikazano u nastavku. - Parametar: opcija
valueatribut.
Primjer:
drpCountry.selectByValue("234");
3) odaberiPoIndeksu() i poništi odabirPoIndeksu()
- Odabire ili poništava odabir opcije na zadanom indeksu. Indeksi se temelje na nuli.
- Parametar: cjelobrojni indeks opcije.
Primjer:
drpCountry.selectByIndex(0);
4) jeVišestruko()
- Povratak
TRUEako padajući izbornik omogućuje više odabira istovremeno, inačeFALSE. - Parametar: nitko.
Primjer:
if (drpCountry.isMultiple()) {
// do something here
}
5) poništiSve()
- Briše svaku odabranu opciju. Vrijedi samo na padajućim izbornicima s višestrukim odabirom.
- Parametar: nitko.
Primjer:
drpCountry.deselectAll();
potpun Code Odaberite metode u Selenium
Sljedeće Java Program demonstrira klasu Select i na padajućem izborniku za jednostruki i na višestruki odabir.
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);
}
}
Odabir stavki u višestrukom SELECT elementu
The selectByVisibleText() Metoda također funkcionira na padajućim izbornicima s višestrukim odabirom. Na primjer, koristite https://jsbin.com/osebed/2 kao bazu URLPrikazuje padajući izbornik koji prihvaća više opcija odjednom.
Isječak u nastavku odabire prve dvije opcije pomoću selectByVisibleText():
Tablica referentnih metoda
Ova tablica sažima svaku gore opisanu metodu Select-klase za brzo pretraživanje.
| naredba | Description |
|---|---|
| odaberiPoVidljivomTekstu() / poništiOdaberiPoVidljivomTekstu() | Odabire ili poništava odabir opcije prema prikazanom tekstu. |
| odaberiPoVrijednosti() / poništiOdaberiPoVrijednosti() | Odabire ili poništava odabir opcije prema njenoj value atribut. |
| odaberiPoIndeksu() / poništiOdaberiPoIndeksu() | Odabire ili poništava odabir opcije prema njenom indeksu koji se temelji na nuli. |
| isMultiple() | Vraća TRUE ako padajući izbornik dopušta višestruke odabire, inače vraća FALSE. |
| odznači sve() | Poništava odabir svih prethodno odabranih opcija na padajućem izborniku s višestrukim odabirom. |
Za upravljanje padajućim izbornikima, uvezite org.openqa.selenium.support.ui.Select prvo kreirajte paket, zatim kreirajte instancu Select i pozovite bilo koju od gore navedenih metoda.

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