Arvon valitseminen pudotusvalikosta käyttämällä Selenium Web-ohjain
Kuinka valita avattava valikko Selenium
Seuraavassa on vaiheittainen prosessi arvon valitsemiseksi avattavasta valikosta Selenium:
Ennen käsittelyä pudotusvalikko Selenium ja ohjaamalla avattavia ruutuja, meidän on tehtävä seuraavat kaksi asiaa:
- Tuo paketti org.openqa.selenium.support.ui.Select
- Muuta pudotusvalikko objektiksi, valitse sisään Selenium web-ajuri
Siirry esimerkiksi kohtaan Mercury Toursin ilmoittautumissivu (https://demo.guru99.com/test/newtours/register.php) ja huomaa avattavan Maa-valikon.
Vaihe 1) Tuo "Valitse"-paketti.
import org.openqa.selenium.support.ui.Select;
Vaihe 2) Ilmoita avattava elementti Select-luokan esiintymäksi.
Alla olevassa esimerkissä nimesimme tämän ilmentymän nimellä "drpCountry".
Select drpCountry = new Select(driver.findElement(By.name("country")));
Vaihe 3) Aloita sen hallinta.
Voimme nyt alkaa ohjata "drpCountrya" käyttämällä mitä tahansa käytettävissä olevista Select-menetelmistä valitaksesi pudotusvalikosta Selenium. Alla oleva esimerkkikoodi valitsee vaihtoehdon "ANTARCTICA".
drpCountry.selectByVisibleText("ANTARCTICA");
Valitse Luokka sisään Selenium
- Valitse Luokka sisään Selenium on menetelmä, jota käytetään HTML SELECT -tunnisteen toteuttamiseen. html select -tunniste tarjoaa apumenetelmiä elementtien valitsemiseen ja valinnan poistamiseen. Select-luokka on tavallinen luokka, joten sen objektin luomiseen käytetään New-avainsanaa ja se määrittää verkkoelementin sijainnin.
Valitse Methods in Selenium
Seuraavat ovat yleisimmät käytetyt menetelmät Selenium pudotusvalikosta.
#1) selectByVisibleText() ja deselectByVisibleText()
- Valitsee/poistaa valinnan, joka näyttää parametria vastaavan tekstin.
- Parametri: Tietyn vaihtoehdon tarkalleen näkyvä teksti
Esimerkiksi:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) selectByValue() ja deselectByValue()
- Valitsee/poistaa valinnan, jonka "arvo"-attribuutti vastaa määritettyä parametria.
- Muista, että kaikilla avattavan valikon vaihtoehdoilla ei ole samaa tekstiä ja "arvoa", kuten alla olevassa esimerkissä.
- Parametri: arvo-attribuutin arvo
Esimerkiksi:
drpCountry.selectByValue("234");
#3) selectByIndex() ja deselectByIndex()
- Valitsee/poistaa valinnan annetusta hakemistosta.
- Parametri: valittavan vaihtoehdon hakemisto.
Esimerkiksi:
drpCountry.selectByIndex(0);
#4) isMultiple()
- Palauttaa arvon TOSI, jos avattava elementti sallii useita valintoja kerrallaan; EPÄTOSI, jos toisin.
- Parametri: Ei tarvita
esimerkki
if (drpCountry.isMultiple()) { //do something here }
#5) deselectAll()
- Tyhjentää kaikki valitut merkinnät. Tämä on voimassa vain, kun avattava elementti tukee useita valintoja.
- Parametri: Ei tarvita
Esimerkiksi:
drpCountry.deselectAll();
Täydellinen valittujen menetelmien koodi sisää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); } }
Kohteiden valitseminen useissa SELECT-elementeissä
Voimme käyttää myös selectByVisibleText() menetelmää useiden vaihtoehtojen valitsemiseksi multi SELECT -elementissä. Esimerkkinä otamme https://jsbin.com/osebed/2 perus-URL-osoitteena. Se sisältää avattavan valikon, joka mahdollistaa useita valintoja kerralla.
Alla oleva koodi valitsee kaksi ensimmäistä vaihtoehtoa selectByVisibleText()-menetelmällä.
Yhteenveto
Komento | Tuotetiedot |
---|---|
selectByVisibleText()/
deselectByVisibleText() |
valitsee vaihtoehdon/poistaa valinnan sen näkyvän tekstin perusteella |
selectByValue()/
deselectByValue() |
valitsee vaihtoehdon/poistaa valinnan sen "value"-attribuutin arvon perusteella |
selectByIndex()/
deselectByIndex() |
valitsee/poistaa valinnan sen indeksin perusteella |
isMultiple() | palauttaa TRUE, jos avattava elementti sallii usean valinnan kerralla; EPÄTOSI, jos toisin |
poista kaikki valinta() | poistaa kaikki aiemmin valitut vaihtoehdot |
Jos haluat hallita avattavia ruutuja, sinun on ensin tuotava org.openqa.selenium.support.ui.Select-paketti ja luotava sitten Select-instanssi.