2017-02-13 42 views
0

Есть ли способ использовать Watir для выбора элемента из списка прокрутки по номеру позиции? То есть, при использовании SelectList, option() взять что-нибудь еще, кроме value и text?Используйте Watir для выбора элемента из раскрывающегося списка по номеру товара?

Я пытаюсь запустить процесс на веб-странице, где я выбираю первый элемент в выпадающем списке, выполняю операцию, переходим ко второму элементу, выполняем операцию снова и т. Д. И этот выпадающий список имеет более 700 опций!

Вот что HTML выглядит следующим образом:

<SELECT NAME="sl" SIZE="1"> 
    <option value="">&nbsp;</OPTION> 
    <option value="abq">Abaza</option> 
    <option value="abk">Abkhazian</option> 
    ... 
    <option value="zun">Zuni</option> 
</SELECT> 

документация SelectList предлагает что-то вроде:

b.select_list(:name => 'sl').select_value("abq") 

Вопрос тогда как я перехожу к следующему значению? А следующие 700? Есть ли способ выбрать по номеру товара? Или извлекать значения в массив, а затем циклически перебирать их?

Спасибо!

ответ

0

Если вы хотите выбрать элемент опции ничем, кроме текста или значения, вы можете найти и выбрать элемент напрямую. Например, эквивалентно использованию метода select_value является:

b.select_list(:name => 'sl').option(value: 'abq').click 

Вы можете использовать обычные локаторы. Для того, чтобы выбрать второй вариант, вы можете использовать :index локатор (обратите внимание, что 0 на основе):

b.select_list(:name => 'sl').option(index: 1).click 

Обратите внимание, что при вы хотите перебирать каждый из вариантов, это может сделать больше смысла использовать один из Перечислимые методы для выполнения цикла. Это может устранить необходимость беспокоиться об индексе. Однако может не работать в зависимости от того, какие другие действия вы планируете предпринять.

b.select_list(:name => 'sl').options.each do |option| 
    option.click 
    # Do other actions 
end 
+0

Ты спас меня снова, Джастин. Спасибо! – NCG

 Смежные вопросы

  • Нет связанных вопросов^_^