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:

  1. Importer pakken org.openqa.selenium.support.ui.Select
  2. 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.

Velg rullegardinmenyen Selenium

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:

SelectByValue og deselectbyvalue

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.

Velge elementer i flere utvalgte elementer

Koden nedenfor vil velge de to første alternativene ved å bruke selectByVisibleText()-metoden.

Velge elementer i flere utvalgte elementer

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.