Как да изберете стойност от падащото меню в Selenium

Как да изберете падащо меню в Selenium

Следва процес стъпка по стъпка за това как да изберете стойност от падащото меню в Selenium:

Преди да обработите падащото меню в Selenium и контролиране на падащи кутии, трябва да направим следните две неща:

  1. Импортирайте пакета org.openqa.selenium.support.ui.Select
  2. Създайте екземпляр на падащото меню като обект, изберете в Selenium уебдрайвер

Като пример отидете на Mercury Страница за регистрация на Tours (https://demo.guru99.com/test/newtours/register.php) и забележете падащото поле „Държава“ там.

Изберете падащо меню в Selenium

Стъпка 1) Импортирайте пакета „Избор“.

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

Стъпка 2) Декларирайте падащия елемент като екземпляр на класа Select.

В примера по-долу ние наименувахме този екземпляр като „drpCountry“.

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

Стъпка 3) Започнете да го контролирате.

Вече можем да започнем да контролираме „drpCountry“, като използваме някой от наличните методи за избор, за да изберете падащо меню Selenium. Примерният код по-долу ще избере опцията „ANTARCTICA“.

drpCountry.selectByVisibleText("ANTARCTICA");

Изберете Клас в Selenium

- Изберете Клас в Selenium е метод, използван за внедряване на HTML тага SELECT. HTML тагът за избор предоставя помощни методи за избиране и демаркиране на елементите. Класът Select е обикновен клас, така че ключовата дума New се използва за създаване на неговия обект и указва местоположението на уеб елемента.

Изберете Методи в Selenium

Следните са най-често използваните методи за Selenium падащ списък.

#1) selectByVisibleText() и deselectByVisibleText()

  • Избира/демаркира опцията, която показва текста, съответстващ на параметъра.
  • Показател: Точно показаният текст на определена опция

Пример:

drpCountry.selectByVisibleText("ANTARCTICA");

#2) selectByValue() и deselectByValue()

  • Избира/премахва избора от опцията, чийто атрибут „стойност“ съответства на зададения параметър.
  • Не забравяйте, че не всички падащи опции имат един и същ текст и „стойност“, както в примера по-долу.
  • Показател: стойността на атрибута „стойност“.

Пример:

SelectByValue и премахване на избора по стойност

drpCountry.selectByValue("234");

#3) selectByIndex() и deselectByIndex()

  • Избира/премахва избора от опцията в дадения индекс.
  • Показател: индекса на опцията, която ще бъде избрана.

Пример:

drpCountry.selectByIndex(0);

#4) isMultiple()

  • Връща TRUE, ако падащият елемент позволява няколко селекции наведнъж; FALSE, ако е друго.
  • Показател: Не е необходимо

Пример

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

#5) премахване на всички()

  • Изчиства всички избрани записи. Това е валидно само когато падащият елемент поддържа множество селекции.
  • Показател: Не е необходимо

Пример:

drpCountry.deselectAll();

Пълен код на методите за избор в 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);
 }
}

Избиране на елементи в множество SELECT елементи

Можем също да използваме selectByVisibleText() метод при избиране на множество опции в мулти SELECT елемент. Като пример ще вземем https://jsbin.com/osebed/2 като основен URL адрес. Той съдържа падащо поле, което позволява няколко селекции наведнъж.

Избиране на елементи в множество избрани елементи

Кодът по-долу ще избере първите две опции с помощта на метода selectByVisibleText().

Избиране на елементи в множество избрани елементи

Oбобщение

Команда Descriptйон
selectByVisibleText()/

деселектБиВиденТекст()

избира/демаркира опция чрез показвания й текст
selectByValue()/

деселект по стойност()

избира/демаркира опция по стойността на нейния атрибут „стойност“.
selectByIndex()/

deselectByIndex()

избира/демаркира опция по нейния индекс
isMultiple() връща TRUE, ако падащият елемент позволява многократен избор наведнъж; FALSE, ако е друго
премахване на всички() демаркира всички предварително избрани опции

За да контролирате падащите полета, първо трябва да импортирате пакета org.openqa.selenium.support.ui.Select и след това да създадете екземпляр Select.

Обобщете тази публикация с: