Селен: Как выбрать опцию из меню выбора?


Я пишу тест Selenium на PHP, используя расширение PHPUnit Selenium.

Я знаю, как ввести что-то в текстовое поле:

$this->type('fieldName', 'value');

Но как мне выбрать опцию из выпадающего меню?

Author: Andrew, 2010-05-12

3 answers

Чтобы расширить другие (точные) ответы, вы можете выбрать их на основе метки, значения, идентификатора или индекса параметров. Из официальной ссылки, доступной по адресу http://release.seleniumhq.org/selenium-core/1.0/reference.html:

Выберите (Selectlocator, параметр локатора)

Аргументы:

  • Selectlocator - указатель элементов, определяющий выпадающее меню
  • Локатор опций - локатор опций (метка по умолчанию)

Выберите опцию из раскрывающегося списка, используя указатель опций.

Локаторы параметров предоставляют различные способы указания параметров элемента выбора HTML (например, для выбора определенного параметра или для подтверждения того, что выбранный параметр удовлетворяет спецификации). Существует несколько форм локатора выбора опций.

  • метка= Labelpattern: сопоставляет параметры на основе их меток, т.Е. видимого текста. (Это значение по умолчанию.)
    • метка=регулярное выражение:^[Оо] там
  • значение= ValuePattern: сопоставляет параметры на основе их значений.
    • значение=другое
  • идентификатор= id: сопоставляет параметры на основе их идентификаторов.
    • идентификатор=опция 1
  • индекс= индекс: соответствует параметру на основе его индекса (смещение от нуля).
    • индекс=2

Если нет указан префикс локатора опций, поведение по умолчанию должно совпадать с меткой.

 12
Author: Dave Hunt, 2010-05-12 20:38:18
 $this->select("selectFieldIdentifier", "label=Option label");
 2
Author: ts., 2010-05-12 15:58:34
//note that it's the option text not value
$this->select('selectName', 'LabelText');
 2
Author: Andrew, 2014-08-12 10:14:11