かなり前向きに.clearを使用する必要があります。または、うまく機能していないように見えるため、使用しない可能性があります。間違って実装しているだけなのか、わかりません。
例:
browser.div(:id => "formLib1").clear.type("input", "hi")
フィールドをクリアしてから新しい文字列を入力する方法を教えてもらえますか?
テキストフィールドについて話していると仮定すると(つまり、divタグをクリア/入力しようとしていない場合)、.set()
and.value=
メソッドは、値を入力する前にテキストフィールドを自動的にクリアします。
したがって、次のいずれかが機能します。
browser.text_field(:id, 'yourid').set('hi')
browser.text_field(:id, 'yourid').value = 'hi'
イベントを発生させない.set
ため、通常は使用することをお勧めします。.value=
私も同様の問題を抱えていましたが、何らかの理由で、.set()
その.value=
要素を利用できませんでした。
要素はWatir::Input:でした
browser.input(:id => "formLib1").to_subtype.clear
フィールドをクリアした後、私はテキストを入力することができました。
browser.input(:id => "formLib1").send_keys "hi"
私も同様の問題を抱えていましたが、何らかの理由で、.set()
その.value=
要素を利用できませんでした。
要素はWatir::HTMLElementでした:
[2] pry(#<Object>)> field.class
=> Watir::HTMLElement
field.methods.grep /^(set|clear)$/
=> []
""
フィールドの値が次のようになるまで、バックスペースキーを送信することにしました。
count = 0
while field.value != "" && count < 50
field.send_keys(:backspace)
count += 1
end
field.send_keys "hi"