capybara - hydrochoerus - chiguiro habitat
¿Cómo encontrar el último elemento coincidente en capibara? (2)
Sobre la base de la respuesta de @Sharagoz y el comentario de @ tgf sobre todo (a diferencia de find) sin esperar a que la sincronización termine, esta combinación parece funcionar para mí:
wait_for_ajax
all(''.selector'').last
Con esto agregado a 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
Quería buscar por class_name
y devolver el último elemento entre todos los elementos.
En jquery, podemos escribir algo como a continuación, pero eso no parece funcionar en capibara
find(".delete:last")
Si está utilizando un controlador webkit
puede escribir algo como -
find(".delete:last-child")
En capibara, puedes obtener el último elemento usando abajo -
all(:css, ".delete").last
¿Hay alguna alternativa a la anterior?
Tuve el mismo problema y terminé usando este método en Capybara 2.4
all(''.delete'').last