Ответ 1
У меня была такая же проблема, и я использовал этот метод в Capybara 2.4
all('.delete').last
Мне нужно найти class_name
и вернуть последний элемент из всех элементов.
В jquery мы можем написать что-то вроде ниже, но это, похоже, не работает в capybara
find(".delete:last")
Если вы используете драйвер webkit
, вы можете написать что-то вроде:
find(".delete:last-child")
В capybara вы можете получить последний элемент, используя ниже -
all(:css, ".delete").last
Есть ли альтернатива выше?
У меня была такая же проблема, и я использовал этот метод в Capybara 2.4
all('.delete').last
На основе ответа @Sharagoz и комментария @tgf обо всех (в отличие от поиска), не ожидающих завершения async, эта комбинация работает для меня:
wait_for_ajax
all('.selector').last
С этим добавляется rspec/capybara:
module RspecFeatureHelpers
def wait_for_ajax
Timeout.timeout(Capybara.default_max_wait_time) do
loop do
active = page.evaluate_script('jQuery.active')
break if active == 0
end
end
end
end