8

かなり前向きに.clearを使用する必要があります。または、うまく機能していないように見えるため、使用しない可能性があります。間違って実装しているだけなのか、わかりません。

例:

browser.div(:id => "formLib1").clear.type("input", "hi")

フィールドをクリアしてから新しい文字列を入力する方法を教えてもらえますか?

4

3 に答える 3

11

テキストフィールドについて話していると仮定すると(つまり、divタグをクリア/入力しようとしていない場合)、.set()and.value=メソッドは、値を入力する前にテキストフィールドを自動的にクリアします。

したがって、次のいずれかが機能します。

browser.text_field(:id, 'yourid').set('hi')
browser.text_field(:id, 'yourid').value = 'hi'

イベントを発生させない.setため、通常は使用することをお勧めします。.value=

于 2012-09-13T13:17:26.697 に答える
8

私も同様の問題を抱えていましたが、何らかの理由で、.set()その.value=要素を利用できませんでした。

要素はWatir::Input:でした

browser.input(:id => "formLib1").to_subtype.clear

フィールドをクリアした後、私はテキストを入力することができました。

browser.input(:id => "formLib1").send_keys "hi"
于 2015-04-10T17:11:54.420 に答える
2

私も同様の問題を抱えていましたが、何らかの理由で、.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"
于 2015-01-23T19:15:19.923 に答える