清除输入字段并使用Watir输入新信息? (Ruby,Watir)

时间:2012-09-13 13:12:51

标签: ruby watir

非常积极的你必须使用.clear,或者可能不是因为它似乎不适合我,也许我只是执行它错了我不确定。

示例:

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

有谁能告诉我如何简单地清除一个字段然后输入一个新的字符串?

3 个答案:

答案 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"