私は次のことをしたいと思いますが、fill_inの性質のためにロケーターを最初の引数として期待することはできません。
find(:css, "input[id$='donation_pledge_hundreds']").fill_in :with => "10"
私もやってみました
element = find(:css, "input[id$='donation_pledge_hundreds']")
fill_in element.<method> , :with => "10"
ただし、fill_inに要素を識別するためのデータを返すメソッドはありません。
Fill_inで使用する正規表現を介してフィールドを見つける最良の方法のアイデアはありますか?
メモリから移動するのは100%正しいとは限りませんが、要素自体への参照がある場合は、fill_in
ではなくset
を使用すると思います。
find(:css, "input[id$='donation_pledge_hundreds']").set("10")
ただし、特定の例では、fill_in
はIDがわかっている要素を見つけることができるはずです。
fill_in 'donation_pledge_hundreds', with: "10"
メソッドの代わりに、ブラケットを使用して_:name
_または_:id
_を返すことができます。 element = find(:css, "input[id$='donation_pledge_hundreds']") fill_in element[:name], :with => "10"
select
-select my_type, from: find('select[name$="[type]"]')[:name]
でも同じアプローチを使用できます
find("input[id$='donation_pledge_hundreds']").set "10"
検索結果を連鎖できることに注意してください。
@modal = find(".modal")
@modal.find('input[name=foo]').set "bar"
element = find(:css, "input[id$='donation_pledge_hundreds']")
element.fill_in with: "10"
fill_in <$id>, :with => 'text you want to fill in'