Arvon valitseminen pudotusvalikosta Selenium
⚡ Älykäs yhteenveto
Valitse arvo alasvetovalikosta Selenium käyttää erillistä Select-luokkaa HTML:n SELECT-elementtien hallintaan. Luokka tarjoaa selectByVisibleText-, selectByValue- ja selectByIndex-metodit, jotka valitsevat asetuksia tarkasti ja tukevat monivalintavalikoita.

Mikä on Select-luokka? Selenium?
Valitse luokka Selenium on auttajaluokka org.openqa.selenium.support.ui paketti, jonka avulla WebDriver on vuorovaikutuksessa HTML:n kanssa <select> elementtejä. Se paljastaa menetelmiä vaihtoehtojen valitsemiseksi ja valinnan poistamiseksi näkyvän tekstin, arvon tai indeksin perusteella ja sen havaitsemiseksi, hyväksyykö avattava valikko useita valintoja.
Koska Select on vakiokasvo Java luokan, luot instanssin, jossa on new avainsana ja välitä WebElement, joka osoittaa <select> -tunniste sivulla.
Kuinka valita avattava valikko Selenium
Ennen pudotusvalikon käsittelyä Selenium, vaaditaan kaksi vaihetta:
- Tuo paketti org.openqa.selenium.support.ui.Select.
- Luo pudotusvalikosta instanssi
Selectesine sisään Selenium WebDriver.
Avaa esimerkiksi Mercury Toursin ilmoittautumissivu (https://demo.guru99.com/test/newtours/register.php) ja etsi avattava ”Maa”-valikko.
Vaihe 1) Tuo Select-paketti.
import org.openqa.selenium.support.ui.Select;
Vaihe 2) Ilmoita avattava elementti Select-luokan esiintymäksi. Alla olevassa esimerkissä instanssi on nimetty drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Vaihe 3) Aloita pudotusvalikon hallinta. Valitse vaihtoehto millä tahansa Select-menetelmällä. Alla olevassa esimerkissä valitaan ”ANTARCTICA”:
drpCountry.selectByVisibleText("ANTARCTICA");
Valitse Methods in Selenium
Select-luokka tarjoaa useita metodeja alasvetovalikoiden kanssa toimimiseen. Viisi yleisintä on kuvattu alla.
1) valitseByVisibleText() ja poista valintaByVisibleText()-funktioilta
- Valitsee tai poistaa valinnan vaihtoehdosta, jonka näytettävä teksti vastaa parametria.
- Parametri: vaihtoehdolle näytettävä tarkka teksti.
Esimerkiksi:
drpCountry.selectByVisibleText("ANTARCTICA");
2) selectByValue() ja deselectByValue()
- Valitsee tai poistaa valinnan vaihtoehdosta, jonka
valueattribuutti vastaa parametria. - Huomaa, että näytetty teksti ja
valueattribuutit ovat usein erilaisia, kuten alla on esitetty. - Parametri: vaihtoehdon
valuemäärite.
Esimerkiksi:
drpCountry.selectByValue("234");
3) selectByIndex() ja deselectByIndex()
- Valitsee tai poistaa valinnan annetun indeksin kohdalla olevasta vaihtoehdosta. Indeksit ovat nollapohjaisia.
- Parametri: vaihtoehdon kokonaislukuindeksi.
Esimerkiksi:
drpCountry.selectByIndex(0);
4) onMoninkertainen()
- Palautukset
TRUEjos alasvetovalikko sallii useita valintoja samanaikaisesti, muutenFALSE. - Parametri: ei mitään.
Esimerkiksi:
if (drpCountry.isMultiple()) {
// do something here
}
5) poistaKaikkienValinta()
- Tyhjentää kaikki valitut vaihtoehdot. Voimassa vain monivalintavalikoissa.
- Parametri: ei mitään.
Esimerkiksi:
drpCountry.deselectAll();
Täydellinen Code Valitse-menetelmistä kohdassa Selenium
Seuraavat Java ohjelma esittelee Select-luokan sekä yhden että useamman valinnan alasvetovalikoissa.
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);
}
}
Kohteiden valitseminen Multiple SELECT -elementissä
selectByVisibleText() menetelmä toimii myös monivalintavalikoissa. Käytä esimerkkinä https://jsbin.com/osebed/2 kuin pohja URLSe näyttää alasvetovalikon, joka hyväksyy useita valintoja kerralla.
Alla oleva koodinpätkä valitsee kaksi ensimmäistä vaihtoehtoa käyttämällä selectByVisibleText():
Menetelmäviitetaulukko
Tämä taulukko tiivistää kaikki yllä käsitellyt Select-luokan metodit nopeaa hakua varten.
| Komento | Tuotetiedot |
|---|---|
| valitseVisibleText() / poistaVisibleText()-valinta | Valitsee tai poistaa valinnan vaihtoehdosta sen näytetyn tekstin perusteella. |
| valitseArvonBy() / poistaArvonBy-valinta() | Valitsee tai poistaa valinnan vaihtoehdosta sen perusteella value määrite. |
| selectByIndex() / deselectByIndex() | Valitsee tai poistaa valinnan vaihtoehdosta sen nollapohjaisen indeksin perusteella. |
| isMultiple() | Palauttaa arvon TRUE, jos avattava valikko sallii useita valintoja, muuten FALSE. |
| poista kaikki valinta() | Poistaa kaikkien aiemmin valittujen vaihtoehtojen valinnan monivalintavalikosta. |
Voit hallita alasvetovalikoita tuomalla org.openqa.selenium.support.ui.Select paketti ensin, luo sitten Select-instanssi ja kutsu mitä tahansa yllä olevista metodeista.

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