Hoe u een waarde selecteert uit een vervolgkeuzelijst in Selenium
โก Slimme samenvatting
Selecteer een waarde uit de vervolgkeuzelijst in Selenium De klasse maakt gebruik van de speciale Select-klasse om HTML SELECT-elementen te beheren. Deze klasse biedt de methoden selectByVisibleText, selectByValue en selectByIndex, waarmee opties nauwkeurig kunnen worden geselecteerd en dropdownmenu's met meerdere selecties worden ondersteund.

Wat is de Select Class in Selenium?
De Selecteer klasse in Selenium is een helper class uit de org.openqa.selenium.support.ui Een pakket waarmee WebDriver met HTML kan communiceren. <select> elementen. Het biedt methoden om opties te selecteren en deselecteren op basis van zichtbare tekst, waarde of index, en om te detecteren of een dropdown meerdere selecties accepteert.
Omdat Select is een gewone Java klasse, je maakt een instantie met de new trefwoord en geef het WebElement door dat verwijst naar de <select> taggen op de pagina.
Hoe u een vervolgkeuzelijst selecteert in Selenium
Voordat je een dropdownmenu afhandelt in SeleniumEr zijn twee stappen nodig:
- Importeer het pakket org.openqa.selenium.support.ui.Select.
- Instantieer het dropdownmenu als een
Selectbezwaar in Selenium Webstuurprogramma.
Open bijvoorbeeld de Mercury Registratiepagina voor rondleidingen (https://demo.guru99.com/test/newtours/register.php) en zoek 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 wordt het exemplaar benoemd drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Stap 3) Begin met het bedienen van het dropdownmenu. Gebruik een willekeurige selectiemethode om een โโoptie te kiezen. In het onderstaande voorbeeld wordt "ANTARCTICA" geselecteerd:
drpCountry.selectByVisibleText("ANTARCTICA");
Selecteer Methoden in Selenium
De Select-klasse biedt verschillende methoden om met dropdown-opties te interageren. De vijf meest voorkomende worden hieronder beschreven.
1) selectByVisibleText() en deselectByVisibleText()
- Hiermee kunt u de optie selecteren of deselecteren waarvan de weergegeven tekst overeenkomt met de parameter.
- Parameter: De exacte tekst die voor de optie wordt weergegeven.
Voorbeeld:
drpCountry.selectByVisibleText("ANTARCTICA");
2) selectByValue() en deselectByValue()
- Selecteert of deselecteert de optie waarvan
valueHet attribuut komt overeen met de parameter. - Merk op dat de weergegeven tekst en de
valueDe kenmerken zijn vaak verschillend, zoals hieronder wordt weergegeven. - Parameter: de optie
valueattribuut.
Voorbeeld:
drpCountry.selectByValue("234");
3) selectByIndex() en deselectByIndex()
- Hiermee kunt u de optie op de opgegeven index selecteren of deselecteren. Indexen beginnen bij nul.
- Parameter: de integerindex van de optie.
Voorbeeld:
drpCountry.selectByIndex(0);
4) isMultiple()
- Retourneren
TRUEals het keuzemenu meerdere selecties tegelijk toestaat, andersFALSE. - Parameter: geen.
Voorbeeld:
if (drpCountry.isMultiple()) {
// do something here
}
5) deselectAll()
- Verwijdert alle geselecteerde opties. Alleen geldig bij keuzelijsten met meerdere selectiemogelijkheden.
- Parameter: geen.
Voorbeeld:
drpCountry.deselectAll();
Volledige Code van Select Methods in Selenium
De volgende Java Dit programma demonstreert de Select-klasse op zowel een dropdownmenu met รฉรฉn selectieoptie als een dropdownmenu met meerdere selectieopties.
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);
// Single-select drop-down
Select drpCountry = new Select(driver.findElement(By.name("country")));
drpCountry.selectByVisibleText("ANTARCTICA");
// Multi-select drop-down
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 een meervoudig SELECT-element
De selectByVisibleText() Deze methode werkt ook op dropdownmenu's met meerdere selectiemogelijkheden. Gebruik bijvoorbeeld: https://jsbin.com/osebed/2 als base URLHet toont een keuzelijst waarmee meerdere opties tegelijk geselecteerd kunnen worden.
Het onderstaande codefragment selecteert de eerste twee opties met behulp van selectByVisibleText():
Methode Referentietabel
Deze tabel geeft een overzicht van alle hierboven besproken Select-klassemethoden, zodat u ze snel kunt opzoeken.
| commando | Beschrijving |
|---|---|
| selectByVisibleText() / deselectByVisibleText() | Hiermee kunt u een optie selecteren of deselecteren op basis van de weergegeven tekst. |
| selectByValue() / deselectByValue() | Hiermee kunt u een optie selecteren of deselecteren. value attribuut. |
| selectByIndex() / deselectByIndex() | Hiermee kunt u een optie selecteren of deselecteren op basis van de index die begint bij nul. |
| isMeerdere() | Geeft TRUE terug als het keuzemenu meerdere selecties toestaat, anders FALSE. |
| Deselecteer alles() | Deselecteert alle eerder geselecteerde opties in een keuzelijst met meerdere selectiemogelijkheden. |
Om keuzelijsten te beheren, importeer de org.openqa.selenium.support.ui.Select Maak eerst een pakket aan, vervolgens een Select-instantie en roep een van de bovenstaande methoden aan.

.png)
.png)
.png)
.png)