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
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.

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