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:
- Importeer het pakket org.openqa.selenium.support.ui.Select
- 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'.
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:
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.
De onderstaande code selecteert de eerste twee opties met behulp van de methode selectByVisibleText().
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.