find capybara

Cómo usar fill_in con find en Capybara(si es posible)



(4)

En lugar de un método, puede usar corchetes para devolver :name o :id , por ejemplo, element = find(:css, "input[id$=''donation_pledge_hundreds'']") fill_in element[:name], :with => "10" El mismo enfoque se puede usar con select - select my_type, from: find(''select[name$="[type]"]'')[:name]

Me gustaría hacer lo siguiente, pero no puedo debido a la naturaleza de fill_in esperando un localizador como primer argumento.

find(:css, "input[id$=''donation_pledge_hundreds'']").fill_in :with => "10"

También he intentado hacer

element = find(:css, "input[id$=''donation_pledge_hundreds'']") fill_in element.<method> , :with => "10"

pero no hay métodos que devuelvan datos para identificar el elemento a fill_in.

¿Alguna idea de la mejor forma de encontrar un campo a través de una expresión regular para usar con fill_in?


Salir de la memoria puede que no sea 100% correcto, pero creo que si tiene una referencia al elemento en sí, usaría set lugar de fill_in :

find(:css, "input[id$=''donation_pledge_hundreds'']").set("10")

Sin embargo, para su ejemplo específico, fill_in debería poder encontrar el elemento como usted sabe que es ID:

fill_in ''donation_pledge_hundreds'', with: "10"


fill_in <$id>, :with => ''text you want to fill in''


find("input[id$=''donation_pledge_hundreds'']").set "10"

Vale la pena señalar que puedes encadenar tus hallazgos.

@modal = find(".modal") @modal.find(''input[name=foo]'').set "bar"