【问题标题】:ruby watir browser.send_keys times out after 60 seconds if machine unattended如果机器无人看管,ruby watir browser.send_keys 会在 60 秒后超时
【发布时间】:2018-05-09 02:51:54
【问题描述】:

我正在使用 send_keys 我必须按 Enter

@ie.element(:css, "#accountSwitcherSelect.dijitDownArrowButton").send_keys :enter

这使得切换帐户的另一个对象可见

@ie.div(:id => "accountSwitcherSelect_dropdown").table(:id => "accountSwitcherSelect_menu")

这是最重要的,如果我在那里,它可以完美运行,并且浏览器在前台处于焦点。

但是,如果我要么 a) 锁定 Windows 操作系统屏幕,或 b) 正在远程桌面上工作并退出 RDP,或者 c) 在无人看管的机器上从计划任务开始运行 ruby​​ 脚本 它会看到第一个下拉列表就好了

puts @ie.element(:css, "#accountSwitcherSelect.dijitDownArrowButton").visible?

但它永远不会 send_keys :enter 并且永远不会看到 "accountSwitcherSelect_menu" 并抛出

60 秒后超时

错误

watir 6.10.3、ruby 2.2.5、Windows 操作系统、IE 11

--这是完整的错误信息,第 125 行是

@ie.element(:css, "#accountSwitcherSelect.dijitDownArrowButton").send_keys :enter

C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/wait_helper.rb:20:in wait_until': timed out after 60 seconds (RAutomation::WaitHelper::TimeoutError) from C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/adapter/win_32/window.rb:153:in block in send_keys' 来自 C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/adapter/win_32/window.rb:152:in each' from C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/adapter/win_32/window.rb:152:in send_keys' 来自 C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/window.rb:192:in send_keys' from C:/ruby225/lib/ruby/gems/2.2.0/gems/watir-classic-4.3.0/lib/watir-classic/browser.rb:452:in send_keys ' 来自 C:/ruby225/lib/ruby/gems/2.2.0/gems/watir-classic-4.3.0/lib/watir-classic/element.rb:124:in send_keys ' from DeleteTriggers8.rb:125:inblock in ' 来自 DeleteTriggers8.rb:106:in each' from DeleteTriggers8.rb:106:in'

【问题讨论】:

  • 请粘贴整个错误信息
  • "timed out after 60 seconds" 是我在开始救援时收到的全部错误消息 Exception => e puts "\nException 从 #{Time.now} 开始捕获:#{e}"
  • 不删除救援块并运行程序并获取整个消息并在问题中更新它..
  • 您使用的是 WATIR(由 Selenium 提供支持)还是 WATIR -classic?因为rautomation-0.17.0/ 在已被弃用的watir-classic 中。
  • 谢谢@Rajagopalan,浏览器窗口焦点问题似乎是现已弃用的 watir-classic 的限制。切换到更高版本的 watir-webdriver 即可解决问题。

标签: ruby windows focus watir sendkeys


【解决方案1】:

谢谢@Rajagopalan,浏览器窗口焦点问题似乎是现已弃用的 watir-classic 的限制。切换到最新的 watir-webdriver 即可解决问题。

【讨论】:

  • 好的,没问题
  • 请注意,watir-webdriver 也已被弃用,您应该只使用普通的“watir”并确保它是版本 6+
  • 对,@titusfortner,我卸载了 watir-classic、commonwatir、watir-webdriver,安装了 watir 6.10.3,并且正在做 require 'watir' 听起来对吗?
  • 是的,只是想确保您获得的是最新最好的。 :)
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 2018-01-11
  • 2016-09-19
  • 1970-01-01
  • 2018-02-16
  • 1970-01-01
相关资源
最近更新 更多