Выбрать из нескольких элементов 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
Другие вопросы по тегам