Cum să selectați valoarea din meniul drop-down în Selenium

Cum să selectați meniul drop-down în Selenium

Următorul este un proces pas cu pas despre cum să selectați valoarea din meniul drop-down Selenium:

Înainte de a gestiona meniul derulant în Selenium și controlând casetele derulante, trebuie să facem următoarele două lucruri:

  1. Importă pachetul org.openqa.selenium.support.ui.Select
  2. Instanciați caseta derulantă ca obiect, Selectați în Selenium webdriver

De exemplu, accesați Mercury Pagina de înregistrare a tururilor (https://demo.guru99.com/test/newtours/register.php) și observați caseta derulantă „Țară” acolo.

Selectați Meniu derulant în Selenium

Pasul 1) Importați pachetul „Select”.

import org.openqa.selenium.support.ui.Select;

Pasul 2) Declarați elementul drop-down ca o instanță a clasei Select.

În exemplul de mai jos, am numit această instanță „drpCountry”.

Select drpCountry = new Select(driver.findElement(By.name("country")));

Pasul 3) Începeți să-l controlați.

Acum putem începe să controlăm „drpCountry” utilizând oricare dintre metodele Select disponibile pentru a selecta meniul drop-down Selenium. Exemplul de cod de mai jos va selecta opțiunea „ANTARCTICA”.

drpCountry.selectByVisibleText("ANTARCTICA");

Selectați Clasă în Selenium

Selectați Clasă în Selenium este o metodă folosită pentru implementarea etichetei HTML SELECT. Eticheta html select oferă metode de ajutor pentru selectarea și deselectarea elementelor. Clasa Select este o clasă obișnuită, astfel încât cuvântul cheie New este folosit pentru a-și crea obiectul și specifică locația elementului web.

Selectați Metode în Selenium

Următoarele sunt cele mai frecvente metode utilizate Selenium lista verticală.

#1) selectByVisibleText() și deselectByVisibleText()

  • Selectează/deselectează opțiunea care afișează textul care corespunde parametrului.
  • Parametru: Textul afișat exact al unei anumite opțiuni

Exemplu:

drpCountry.selectByVisibleText("ANTARCTICA");

#2) selectByValue() și deselectByValue()

  • Selectează/deselectează opțiunea al cărei atribut „valoare” se potrivește cu parametrul specificat.
  • Rețineți că nu toate opțiunile drop-down au același text și „valoare”, ca în exemplul de mai jos.
  • Parametru: valoarea atributului „valoare”.

Exemplu:

SelectByValue și deselectbyvalue

drpCountry.selectByValue("234");

#3) selectByIndex() și deselectByIndex()

  • Selectează/deselectează opțiunea la indexul dat.
  • Parametru: indexul opțiunii de selectat.

Exemplu:

drpCountry.selectByIndex(0);

#4) este Multiplu()

  • Returnează TRUE dacă elementul drop-down permite selecții multiple simultan; FALSE dacă altfel.
  • Parametru: Nu e necesar

Exemplu

if (drpCountry.isMultiple())
{
//do something here
}

#5) deselectAll()

  • Șterge toate intrările selectate. Acest lucru este valabil numai atunci când elementul drop-down acceptă selecții multiple.
  • Parametru: Nu e necesar

Exemplu:

drpCountry.deselectAll();

Completați codul de selectare a metodelor în 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);
 }
}

Selectarea articolelor dintr-un element SELECT Multiple

Putem folosi și selectByVisibleText() metoda de selectare a mai multor opțiuni într-un element SELECT multiplu. Ca exemplu, vom lua https://jsbin.com/osebed/2 ca URL de bază. Conține o casetă derulantă care permite selecții multiple simultan.

Selectarea elementelor dintr-o selecție multiplă

Codul de mai jos va selecta primele două opțiuni folosind metoda selectByVisibleText().

Selectarea elementelor dintr-o selecție multiplă

Rezumat

Comandă Descriere
selectByVisibleText()/

deselectByVisibleText()

selectează/deselectează o opțiune după textul afișat
selectByValue()/

deselectByValue()

selectează/deselectează o opțiune după valoarea atributului său „valoare”.
selectByIndex()/

deselectByIndex()

selectează/deselectează o opțiune după indexul său
este Multiplu() returnează TRUE dacă elementul drop-down permite selecții multiple simultan; FALSE dacă altfel
deselectAll() deselectează toate opțiunile selectate anterior

Pentru a controla casetele derulante, trebuie mai întâi să importați pachetul org.openqa.selenium.support.ui.Select și apoi să creați o instanță Select.