在ruby中调用text_field的set
方法时,浏览器中的文本输入速度很慢,大约为1个字符/秒。
环境信息:
请咨询。提前谢谢。
答案 0 :(得分:3)
这是一个众所周知的错误:WTR-397
解决方法是使用watir-webdriver或使用value=
代替set
。例如:
browser.text_field(how => what).value= "string"
答案 1 :(得分:0)
解决firewatir上的慢键类型问题:
需要修改文件text_field.rb
进入文件夹
#>cd /usr/lib/ruby/gems/1.8/gems/firewatir-1.7.1/lib/firewatir/elements/
让它可写#>chmod 777 text_field.rb
编辑proc def doKeyPress( value )
@o.fireEvent("onKeyDown")
和@o.fireEvent("onKeyPress")
以及@o.fireEvent("onKeyPress")
而是输入fire_key_events
def doKeyPress( value )
begin
max = maxlength
if (max > 0 && value.length > max)
original_value = value
value = original_value[0...max]
element.log " Supplied string is #{suppliedValue.length} chars, which exceeds the max length (#{max}) of the field. Using value: #{value}"
end
rescue
# probably a text area - so it doesnt have a max Length
end
for i in 0..value.length-1
#sleep element.typingspeed # typing speed
c = value[i,1]
#element.log " adding c.chr " + c #.chr.to_s
@o.value = "#{(@o.value.to_s + c)}" #c.chr
fire_key_events #add this
#@o.fireEvent("onKeyDown")
#@o.fireEvent("onKeyPress")
#@o.fireEvent("onKeyUp")
end
现在它应该更快地运作