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:

  1. Zaimportuj pakiet org.openqa.selenium.support.ui.Wybierz
  2. 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”.

Wybierz menu rozwijane Selenium

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:

Wybierz według wartości i usuń zaznaczenie według wartości

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.

Wybieranie elementów z wielu wybranych elementów

Poniższy kod wybierze dwie pierwsze opcje za pomocą metodyselectByVisibleText().

Wybieranie elementów z wielu wybranych elementów

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.

Czytaj więcej Czytaj więcej