Выбрать из нескольких элементов select_list
Привет, я хотел знать, как я могу выбрать определенный индекс во всех полях select_list на экране. Я смог заставить их мигать с помощью этой строки кода:
browser.elements(:class => "level").each { |e| e.flash }
Из-за отсутствия опыта я не могу понять, как на самом деле выбрать один и тот же индекс (последний вариант из выпадающего списка) из всех блоков.
2 ответа
Решение
Если я правильно понимаю, вы хотите выбрать последний вариант для нескольких выпадающих меню.
Учитывая некоторые придуманные HTML:
<select>
<option value="one">One</option>
<option value="two">Two</option>
<option value="three">Three</option>
</select>
<select>
<option value="four">Four</option>
<option value="five">Five</option>
<option value="six">Six</option>
</select>
Вы можете использовать select_lists
метод для сбора доступных списков выбора, а затем перебрать эту коллекцию и выбрать последний вариант для каждого:
lists = browser.select_lists
lists.each do |list|
list.options.last.select
end
Может быть, получить каждый select_list, сопоставить значение с массивом и захватить последний элемент в массиве.
browser.select_lists(:class => "level").each do |e|
content = e.options.map(&:value)
lastElement = content[-1]
end