Hvordan velge verdi fra rullegardinmenyen Selenium
Hvordan velge dropdown i Selenium
Følgende er en trinnvis prosess for hvordan du velger verdi fra rullegardinmenyen Selenium:
Før du håndterer rullegardinmenyen Selenium og kontrollerende rullegardinbokser, må vi gjøre følgende to ting:
- Importer pakken org.openqa.selenium.support.ui.Select
- Instantier rullegardinboksen som et objekt, Velg inn Selenium webdriver
Som et eksempel, gå til Mercury Registreringsside for turer (https://demo.guru99.com/test/newtours/register.php) og legg merke til rullegardinboksen "Land" der.
Trinn 1) Importer "Select"-pakken.
import org.openqa.selenium.support.ui.Select;
Trinn 2) Erklær rullegardinelementet som en forekomst av klassen Select.
I eksemplet nedenfor kalte vi denne forekomsten "drpCountry".
Select drpCountry = new Select(driver.findElement(By.name("country")));
Trinn 3) Begynn å kontrollere den.
Vi kan nå begynne å kontrollere "drpCountry" ved å bruke en av de tilgjengelige Select-metodene for å velge rullegardinmenyen Selenium. Eksempelkoden nedenfor vil velge alternativet "ANTARCTICA."
drpCountry.selectByVisibleText("ANTARCTICA");
Velg Klasse i Selenium
Ocuco Velg Klasse i Selenium er en metode som brukes til å implementere HTML SELECT-taggen. HTML select-taggen gir hjelpemetoder for å velge og fjerne markeringen av elementene. Select-klassen er en vanlig klasse, så Nytt nøkkelord brukes til å lage objektet, og det spesifiserer webelementets plassering.
Velg Metoder i Selenium
Følgende er de vanligste metodene som brukes på Selenium nedtrekksliste.
#1) selectByVisibleText() og deselectByVisibleText()
- Velger/velger bort alternativet som viser teksten som samsvarer med parameteren.
- Parameter: Den nøyaktige teksten til et bestemt alternativ
Eksempel:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) selectByValue() og deselectByValue()
- Velger/opphever valget av alternativet hvis "verdi"-attributt samsvarer med den angitte parameteren.
- Husk at ikke alle rullegardinalternativer har samme tekst og "verdi", som i eksemplet nedenfor.
- Parameter: verdien av «verdi»-attributtet
Eksempel:
drpCountry.selectByValue("234");
#3) selectByIndex() og deselectByIndex()
- Velger/fjerner valget ved den gitte indeksen.
- Parameter: indeksen for alternativet som skal velges.
Eksempel:
drpCountry.selectByIndex(0);
#4) erMultiple()
- Returnerer TRUE hvis rullegardinelementet tillater flere valg om gangen; FALSE hvis annet.
- Parameter: Ikke nødvendig
Eksempel
if (drpCountry.isMultiple()) { //do something here }
#5) deselectAll()
- Sletter alle valgte oppføringer. Dette er bare gyldig når rullegardinelementet støtter flere valg.
- Parameter: Ikke nødvendig
Eksempel:
drpCountry.deselectAll();
Komplett kode for utvalgte metoder i 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); } }
Velge elementer i flere SELECT-elementer
Vi kan også bruke selectByVisibleText() metode for å velge flere alternativer i et multi SELECT-element. Som et eksempel vil vi ta https://jsbin.com/osebed/2 som basis-URL. Den inneholder en rullegardinboks som tillater flere valg om gangen.
Koden nedenfor vil velge de to første alternativene ved å bruke selectByVisibleText()-metoden.
Sammendrag
Kommando | Tekniske beskrivelser |
---|---|
selectByVisibleText()/
deselectByVisibleText() |
velger/velger bort et alternativ etter den viste teksten |
selectByValue()/
deselectByValue() |
velger/opphever valget av et alternativ med verdien av «verdi»-attributtet |
selectByIndex()/
deselectByIndex() |
velger/velger bort et alternativ etter indeksen |
isMultiple() | returnerer TRUE hvis rullegardinelementet tillater flere valg om gangen; FALSE hvis annet |
deselectAll() | fjerner valget av alle tidligere valgte alternativer |
For å kontrollere nedtrekksbokser må du først importere org.openqa.selenium.support.ui.Select-pakken og deretter opprette en Select-forekomst.