非常积极的你必须使用.clear,或者可能不是因为它似乎没有为我工作,也许我只是实现它错了我不确定。清除输入栏并使用Watir输入新信息? (Ruby,Watir)
例子:
browser.div(:id => "formLib1").clear.type("input", "hi")
谁能告诉我如何简单地清除然后领域一个新的字符串输入?
非常积极的你必须使用.clear,或者可能不是因为它似乎没有为我工作,也许我只是实现它错了我不确定。清除输入栏并使用Watir输入新信息? (Ruby,Watir)
例子:
browser.div(:id => "formLib1").clear.type("input", "hi")
谁能告诉我如何简单地清除然后领域一个新的字符串输入?
假设我们正在谈论一个文本字段(即,您并未尝试清除/输入div标签),则.set()
和.value=
方法会在输入值之前自动清除文本字段。
所以下面的人会工作:
browser.text_field(:id, 'yourid').set('hi')
browser.text_field(:id, 'yourid').value = 'hi'
注意,它通常最好使用.set
因为.value=
不会触发事件。
我有一个类似的问题,出于某种原因,.set()
和.value=
不适用于该元素。
元素是的Watir :: HTML元素:
[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"
我也有类似的问题, ,出于某种原因,.set()
和.value=
不适用于元素。
元素是的Watir ::输入:
browser.input(:id => "formLib1").to_subtype.clear
清场,我能够输入文本后。
browser.input(:id => "formLib1").send_keys "hi"
需要注意的是,一旦你转换'的Watir :: Input'到'的Watir :: TextField',然后你可以调用'set'方法 - 即'browser.input(:ID => “formLib1” ).to_subtype.set( “HI”)'。这将消除手动调用“清除”的需要。 –