首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FireWatir TextField set :非常慢

FireWatir TextField set :非常慢
EN

Stack Overflow用户
提问于 2011-02-15 05:21:46
回答 2查看 686关注 0票数 2

当在ruby中调用text_field的text_field方法时,文本在浏览器中的输入速度非常慢,大约为1字符/秒。

环境信息:

  1. Ubuntu 10.10
  2. FireFox 3.6.13
  3. JSSh 0.9
  4. Ruby 1.9.2p136
  5. FireWatir 1.7.1

好心的建议。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-02-15 10:59:25

这是一个已知的bug:三九七

解决办法是使用watir-webdriver或使用value=而不是set。示例:

代码语言:javascript
复制
browser.text_field(how => what).value= "string"
票数 3
EN

Stack Overflow用户

发布于 2011-02-16 00:05:29

解决防火墙上的慢键类型问题:

需要编辑文件text_field.rb,输入文件夹

  1. #>cd /usr/lib/ruby/gems/1.8/gems/firewatir-1.7.1/lib/firewatir/elements/使其可写
  2. #>chmod 777 text_field.rb编辑proc def doKeyPress( value )
  3. 将#放在@o.fireEvent("onKeyDown")@o.fireEvent("onKeyPress")@o.fireEvent("onKeyPress")前面

相反,输入fire_key_events

代码语言:javascript
复制
 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

现在它应该工作得更快

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5000164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档