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:

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

Valitse pudotusvalikosta Selenium

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:

SelectByValue ja deselectbyvalue

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.

Kohteiden valitseminen useissa valintaelementeissä

Alla oleva koodi valitsee kaksi ensimmäistä vaihtoehtoa selectByVisibleText()-menetelmällä.

Kohteiden valitseminen useissa valintaelementeissä

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.

Lue lisää Readmore