非常积极的你必须使用.clear,或者可能不是因为它似乎不适合我,也许我只是执行它错了我不确定。
示例:
browser.div(:id => "formLib1").clear.type("input", "hi")
有谁能告诉我如何简单地清除一个字段然后输入一个新的字符串?
答案 0 :(得分:10)
假设我们正在讨论文本字段(即您没有尝试清除/输入div标记),.set()
和.value=
方法会在输入值之前自动清除文本字段。< / p>
以下其中一项可行:
browser.text_field(:id, 'yourid').set('hi')
browser.text_field(:id, 'yourid').value = 'hi'
请注意,通常首选使用.set
,因为.value=
不会触发事件。
答案 1 :(得分:4)
我遇到了类似的问题,由于某种原因,.set()
和.value=
无法使用/工作。
元素是Watir :: Input:
browser.input(:id => "formLib1").to_subtype.clear
清除字段后,我可以输入文字。
browser.input(:id => "formLib1").send_keys "hi"
答案 2 :(得分: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"