class_name
で検索して、すべての要素のうち最後の要素を返したいと思っていました。
Jqueryでは、以下のように書くことができますが、カピバラではうまくいかないようです
find(".delete:last")
webkit
ドライバを使用している場合は、次のように記述できます-
find(".delete:last-child")
カピバラでは、以下を使用して最後の要素を取得できます-
all(:css, ".delete").last
上記に代わるものはありますか?
私は同じ問題を抱えており、カピバラ2.4でこの方法を使用してしまいました
all('.delete').last
@sharagozの回答と、(findとは異なり)非同期が終了するのを待たないすべてについての@tgfのコメントに基づいて、この組み合わせは私にはうまくいくようです:
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