Как да изберете стойност от падащото меню в Selenium
Как да изберете падащо меню в Selenium
Следва процес стъпка по стъпка за това как да изберете стойност от падащото меню в Selenium:
Преди да обработите падащото меню в Selenium и контролиране на падащи кутии, трябва да направим следните две неща:
- Импортирайте пакета org.openqa.selenium.support.ui.Select
- Създайте екземпляр на падащото меню като обект, изберете в Selenium уебдрайвер
Като пример отидете на Mercury Страница за регистрация на Tours (https://demo.guru99.com/test/newtours/register.php) и забележете падащото поле „Държава“ там.
Стъпка 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()
- Избира/премахва избора от опцията, чийто атрибут „стойност“ съответства на зададения параметър.
- Не забравяйте, че не всички падащи опции имат един и същ текст и „стойност“, както в примера по-долу.
- Показател: стойността на атрибута „стойност“.
Пример:
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.

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