Как выбрать значение из раскрывающегося списка Selenium

Как выбрать раскрывающийся список в Selenium

Ниже приведен пошаговый процесс выбора значения из раскрывающегося списка. Selenium:

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

  1. Импорт пакета org.openqa.selenium.support.ui.Выбрать
  2. Создайте экземпляр раскрывающегося списка как объекта, выберите в Selenium Вебдрайвер

В качестве примера перейдите к Mercury Страница регистрации туров (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», используя любой из доступных методов Select для выбора раскрывающегося списка в Selenium. В приведенном ниже примере кода будет выбран вариант «АНТАРКТИДА».

drpCountry.selectByVisibleText("ANTARCTICA");

Выберите класс в Selenium

Территория Выберите класс в Selenium — это метод, используемый для реализации тега HTML SELECT. Тег html select предоставляет вспомогательные методы для выбора и отмены выбора элементов. Класс Select является обычным классом, поэтому для создания его объекта используется ключевое слово New, которое определяет местоположение веб-элемента.

Выберите методы в Selenium

Ниже приведены наиболее распространенные методы, используемые Selenium выпадающий список.

#1) выберитеByVisibleText() и отмените выборByVisibleText()

  • Выбирает/отменяет выбор опции, отображающей текст, соответствующий параметру.
  • Параметр: Точно отображаемый текст конкретной опции

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

drpCountry.selectByVisibleText("ANTARCTICA");

#2) selectByValue() и deselectByValue()

  • Выбирает/отменяет выбор опции, атрибут «значение» которой соответствует указанному параметру.
  • Помните, что не все параметры раскрывающегося списка имеют одинаковый текст и «значение», как в примере ниже.
  • Параметр: значение атрибута «value»

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

SelectByValue и отмените выбор по значению

drpCountry.selectByValue("234");

#3) selectByIndex() и deselectByIndex()

  • Выбирает/отменяет выбор опции по данному индексу.
  • Параметр: индекс опции, которую нужно выбрать.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

drpCountry.selectByIndex(0);

#4) isMultiple()

  • Возвращает TRUE, если элемент раскрывающегося списка позволяет выбрать несколько вариантов одновременно; ЛОЖЬ, если иначе.
  • Параметр: Не нужно

Пример

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

Мы также можем использовать выберитеПоВизиблетекст() метод выбора нескольких опций в элементе multi SELECT. В качестве примера мы возьмем https://jsbin.com/osebed/2 как базовый URL. Он содержит раскрывающийся список, который позволяет выбирать несколько вариантов одновременно.

Выбор элементов в нескольких элементах выбора

Код ниже выберет первые два параметра с помощью метода selectByVisibleText().

Выбор элементов в нескольких элементах выбора

Резюме

Command Описание
выберитеБыВисиблетекст()/

отменить выбор поVisibleText()

выбирает/отменяет выбор опции по отображаемому тексту
выберитеПоЗначению()/

отменить выбор по значению ()

выбирает/отменяет выбор опции по значению ее атрибута «value»
выбратьПоИндексу()/

отменить выбор по индексу ()

выбирает/отменяет выбор опции по ее индексу
isMultiple() возвращает TRUE, если элемент раскрывающегося списка допускает множественный выбор одновременно; ЛОЖЬ, если иначе
убрать выделение со всего() отменяет выбор всех ранее выбранных опций

Для управления раскрывающимися списками необходимо сначала импортировать пакет org.openqa.selenium.support.ui.Select, а затем создать экземпляр Select.