如果机器无人看管,Ruby Watir browser.send_keys 60 秒后超时



我正在使用send_keys,我必须按回车

@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:输入,永远不会看到"accountSwitcherSelect_menu">并投掷

60 秒后超时

错误

watir 6.10.3, Ruby 2.2.5, Windows OS, 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:inwait_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 块在send_keys' 从 C:/ruby225/lib/ruby/gems/2.2.0/gems/rautomation-0.17.0/lib/rautomation/adapter/win_32/window.rb:152:ineach' 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:insend_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:insend_keys ' from DeleteTriggers8.rb:125:in块 来自 删除触发器8.rb:106:ineach' from DeleteTriggers8.rb:106:in'

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

最新更新