Hoe u een waarde selecteert uit een vervolgkeuzelijst in Selenium

Hoe u een vervolgkeuzelijst selecteert in Selenium

Hieronder volgt een stapsgewijs proces voor het selecteren van een waarde uit een vervolgkeuzelijst in Selenium:

Voordat u de vervolgkeuzelijst afhandelt Selenium en om dropdownboxen te beheren, moeten we de volgende twee dingen doen:

  1. Importeer het pakket org.openqa.selenium.support.ui.Select
  2. Instantieer de vervolgkeuzelijst als een object, selecteer in Selenium webdriver

Ga bijvoorbeeld naar Mercury Registratiepagina voor rondleidingen (https://demo.guru99.com/test/newtours/register.php) en let op het vervolgkeuzemenu 'Land'.

Selecteer Vervolgkeuzelijst in Selenium

Stap 1) Importeer het “Select” -pakket.

import org.openqa.selenium.support.ui.Select;

Stap 2) Declareer het dropdown-element als een exemplaar van de Select-klasse.

In het onderstaande voorbeeld hebben we deze instantie de naam “drpCountry” gegeven.

Select drpCountry = new Select(driver.findElement(By.name("country")));

Stap 3) Begin er controle over te krijgen.

We kunnen nu beginnen met het controleren van “drpCountry” door een van de beschikbare Select-methoden te gebruiken om de vervolgkeuzelijst te selecteren Selenium. De onderstaande voorbeeldcode selecteert de optie 'ANTARCTICA'.

drpCountry.selectByVisibleText("ANTARCTICA");

Selecteer Klasse in Selenium

Het Selecteer Klasse in Selenium is een methode die wordt gebruikt om de HTML SELECT-tag te implementeren. De html-select-tag biedt hulpmethoden voor het selecteren en deselecteren van de elementen. De klasse Select is een gewone klasse, dus het trefwoord New wordt gebruikt om het object te maken en specificeert de locatie van het webelement.

Selecteer Methoden in Selenium

Hieronder staan ​​de meest gebruikte methoden op Selenium keuzelijst.

#1) selecteerByVisibleText() en deselectByVisibleText()

  • Selecteert/deselecteert de optie die de tekst weergeeft die overeenkomt met de parameter.
  • Parameter: De exact weergegeven tekst van een bepaalde optie

Voorbeeld:

drpCountry.selectByVisibleText("ANTARCTICA");

#2) selecteerByValue() en deselectByValue()

  • Selecteert/deselecteert de optie waarvan het kenmerk “value” overeenkomt met de opgegeven parameter.
  • Houd er rekening mee dat niet alle vervolgkeuzeopties dezelfde tekst en “waarde” hebben, zoals in het onderstaande voorbeeld.
  • Parameter: waarde van het attribuut ‘waarde’

Voorbeeld:

Selecteer op waarde en deselecteer op waarde

drpCountry.selectByValue("234");

#3) selecteerByIndex() en deselectByIndex()

  • Selecteert/deselecteert de optie bij de gegeven index.
  • Parameter: de index van de te selecteren optie.

Voorbeeld:

drpCountry.selectByIndex(0);

#4) isMeerdere()

  • Retourneert TRUE als het vervolgkeuzemenu meerdere selecties tegelijk toestaat; FALSE indien anders.
  • Parameter: Niet nodig

Voorbeeld

if (drpCountry.isMultiple())
{
//do something here
}

#5) deselecteerAlles()

  • Wist alle geselecteerde vermeldingen. Dit is alleen geldig als het dropdown-element meerdere selecties ondersteunt.
  • Parameter: Niet nodig

Voorbeeld:

drpCountry.deselectAll();

Volledige code van geselecteerde methoden in 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);
 }
}

Items selecteren in meerdere SELECT-elementen

We kunnen ook de selecteerDoorVisibleText() methode voor het selecteren van meerdere opties in een multi-SELECT-element. Als voorbeeld zullen we nemen https://jsbin.com/osebed/2 als de basis-URL. Het bevat een dropdownbox die meerdere selecties tegelijk toestaat.

Items selecteren in meerdere geselecteerde elementen

De onderstaande code selecteert de eerste twee opties met behulp van de methode selectByVisibleText().

Items selecteren in meerdere geselecteerde elementen

Samenvatting

commando Beschrijving
selectByVisibleText()/

deselecteerDoorVisibleText()

selecteert/deselecteert een optie op basis van de weergegeven tekst
selectByValue()/

deselecteerDoorWaarde()

selecteert/deselecteert een optie op basis van de waarde van het “value” attribuut
selecteerByIndex()/

deselectByIndex()

selecteert/deselecteert een optie op basis van de index
isMeerdere() retourneert TRUE als het dropdown-element meerdere selecties tegelijk toestaat; FALSE als dit niet het geval is
Deselecteer alles() deselecteert alle eerder geselecteerde opties

Om vervolgkeuzelijsten te beheren, moet u eerst het pakket org.openqa.selenium.support.ui.Select importeren en vervolgens een Select-exemplaar maken.

Lees Verder readmore