Ruby 清除输入字段并使用Watir输入新信息?(鲁比,瓦蒂尔)
非常肯定你必须使用。清楚,或者可能不清楚,因为它似乎对我不起作用,也许我只是执行错误,我不确定 例如:Ruby 清除输入字段并使用Watir输入新信息?(鲁比,瓦蒂尔),ruby,watir,Ruby,Watir,非常肯定你必须使用。清楚,或者可能不清楚,因为它似乎对我不起作用,也许我只是执行错误,我不确定 例如: browser.div(:id => "formLib1").clear.type("input", "hi") 有人能告诉我如何简单地清除一个字段,然后输入一个新字符串吗?假设我们讨论的是一个文本字段(即您没有试图清除/输入div标记),那么.set()和.value=方法会在输入值之前自动清除文本字段 因此,以下其中一项可行: browser.text_field(:id, 'yo
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::HTMLElement:
[2] pry(#<Object>)> field.class
=> Watir::HTMLElement
field.methods.grep /^(set|clear)$/
=> []
我遇到了类似的问题,并且由于某种原因,
.set()
和.value=
不适用于该元素
该元素是一个Watir::Input:
browser.input(:id => "formLib1").to_subtype.clear
清除字段后,我可以输入文本
browser.input(:id => "formLib1").send_keys "hi"
请注意,一旦将
Watir::Input
转换为Watir::TextField
,就可以调用set
方法-iebrowser.Input(:id=>“formLib1”)。将其转换为_subtype.set(“hi”)
。这将消除手动调用clear
send_key
的需要,该键对我有效,但尚未到_subtype.clear
(值不变)。元素来自iframe
,但我仍然不明白为什么set
/value=
不可用。@JustinKo:这是有道理的,但对我来说,我仍然必须发送clear
,以便set
工作。我不为自己工作(元素来自iframe
,但我没有真正找出原因)
browser.input(:id => "formLib1").send_keys "hi"