Chciałbym wykonać następujące czynności, ale nie mogę ze względu na naturę funkcji fill_in oczekującej lokalizatora jako pierwszego argumentu.
find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10"
Ja też próbowałem
element = find(:css, "input[id$='donation_pledge_hundreds']")
fill_in element.<method> , :with => "10"
ale nie ma metod, które zwracają jakiekolwiek dane identyfikujące element do fill_in.
Jakieś pomysły dotyczące najlepszego sposobu znajdowania pola za pomocą wyrażenia regularnego do użycia z fill_in?
find(:css, "...").set("10").send_keys(:return)
później nacisnąć klawisz Return. Wywołuje odpowiednie zdarzenia. Nie testowałem tego, ale możesz też,find(:css, "...").set("10").trigger(:blur)
jeśli to twoja sprawa.Zamiast metody możesz użyć nawiasów do zwrócenia
:name
lub:id
np.element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element[:name], :with => "10"
To samo podejście można zastosować zselect
-select my_type, from: find('select[name$="[type]"]')[:name]
źródło
Warto zauważyć, że możesz połączyć swoje znaleziska.
źródło
źródło
źródło