Jak wybrać wartość z listy rozwijanej w Selenium
Jak wybrać menu rozwijane w Selenium
Poniżej przedstawiono krok po kroku proces wybierania wartości z listy rozwijanej w Selenium:
Przed obsługą menu rozwijanego Selenium i kontrolowanie pól rozwijanych, musimy wykonać następujące dwie czynności:
- Zaimportuj pakiet org.openqa.selenium.support.ui.Wybierz
- Utwórz pole rozwijane jako obiekt, wybierz w Selenium Sterownik sieciowy
Jako przykład przejdź do Mercury Strona rejestracji wycieczek (https://demo.guru99.com/test/newtours/register.php) i zwróć uwagę na rozwijane pole wyboru „Kraj”.
Krok 1) Zaimportuj pakiet „Wybierz”.
import org.openqa.selenium.support.ui.Select;
Krok 2) Zadeklaruj element rozwijany jako instancję klasy Select.
W poniższym przykładzie nazwaliśmy tę instancję „drpCountry”.
Select drpCountry = new Select(driver.findElement(By.name("country")));
Krok 3) Zacznij to kontrolować.
Możemy teraz rozpocząć kontrolowanie „drpCountry” za pomocą dowolnej z dostępnych metod Wybierz, aby wybrać menu rozwijane Selenium. Przykładowy kod poniżej wybierze opcję „ANTARKTYKA”.
drpCountry.selectByVisibleText("ANTARCTICA");
Wybierz Zajęcia w Selenium
Kurs Wybierz Zajęcia w Selenium to metoda używana do implementacji tagu HTML SELECT. Znacznik HTML Select udostępnia metody pomocnicze umożliwiające zaznaczanie i odznaczanie elementów. Klasa Select jest zwykłą klasą, dlatego do utworzenia jej obiektu używane jest słowo kluczowe New, które określa lokalizację elementu WWW.
Wybierz Metody w Selenium
Poniżej przedstawiono najczęściej stosowane metody Selenium Lista rozwijana.
#1) wybierzByVisibleText() i odznaczByVisibleText()
- Zaznacza/odznacza opcję wyświetlającą tekst pasujący do parametru.
- Parametr: Dokładny tekst wyświetlany dla konkretnej opcji
Przykład:
drpCountry.selectByVisibleText("ANTARCTICA");
#2) wybierzByValue() i odznaczByValue()
- Zaznacza/odznacza opcję, której atrybut „wartość” pasuje do określonego parametru.
- Pamiętaj, że nie wszystkie opcje rozwijane mają ten sam tekst i „wartość”, jak w poniższym przykładzie.
- Parametr: wartość atrybutu „wartość”.
Przykład:
drpCountry.selectByValue("234");
#3) wybierzByIndex() i odznaczByIndex()
- Zaznacza/odznacza opcję przy danym indeksie.
- Parametr: indeks opcji, która ma zostać wybrana.
Przykład:
drpCountry.selectByIndex(0);
#4) jest wielokrotny()
- Zwraca wartość TRUE, jeśli element listy rozwijanej pozwala na jednoczesny wybór wielu elementów; FALSE, jeśli jest inaczej.
- Parametr: Nie są potrzebne
Przykład
if (drpCountry.isMultiple()) { //do something here }
#5) odznaczWszystko()
- Usuwa wszystkie wybrane wpisy. Ma to zastosowanie tylko wtedy, gdy element rozwijany obsługuje wielokrotny wybór.
- Parametr: Nie są potrzebne
Przykład:
drpCountry.deselectAll();
Kompletny kod wybranych metod w 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); } }
Wybieranie elementów w wielu elementach SELECT
Możemy również użyć wybierzByVisibleText() metoda wybierania wielu opcji w elemencie multi SELECT. Jako przykład weźmiemy https://jsbin.com/osebed/2 jako adres URL bazowy. Zawiera rozwijane pole, które umożliwia dokonywanie wielu wyborów jednocześnie.
Poniższy kod wybierze dwie pierwsze opcje za pomocą metodyselectByVisibleText().
Podsumowanie
Command | Opis |
---|---|
wybierzByVisibleText()/
usuń zaznaczenieByVisibleText() |
zaznacza/odznacza opcję na podstawie wyświetlanego tekstu |
wybierzWedługWartości()/
usuń zaznaczenieWg wartości() |
zaznacza/odznacza opcję według wartości jej atrybutu „wartość”. |
wybierzWedługindeksu()/
usuń zaznaczenieByIndex() |
zaznacza/odznacza opcję według jej indeksu |
jest wielokrotny() | zwraca wartość TRUE, jeśli element rozwijany pozwala na wielokrotny wybór na raz; FALSE, jeśli jest inaczej |
odznacz wszystkie() | odznacza wszystkie poprzednio zaznaczone opcje |
Aby sterować polami rozwijanymi, należy najpierw zaimportować pakiet org.openqa.selenium.support.ui.Select, a następnie utworzyć instancję Select.