当使用弹出窗口时,显示“已调用的对象与客户端断开连接”错误消息

| 我正在尝试使用弹出窗口。我已经浏览了网站“ http://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups \”。我已经通过添加站点解决方案#7中提到的代码来修改\“ ie-class.rb \”。 我也尝试了下面提到的示例:
require \'watir/ie\'
require \'win32ole\'


iewin = Watir::IE.new
iewin.goto(\"http://www.w3schools.com/js/tryit_view.asp?filename=tryjs_confirm\")
iewin=Watir::IE.attach(:url, /w3schools/)
iewin.bring_to_front
iewin.maximize
iewin.button(:value, \"Show a confirm box\").click_no_wait
txt = iewin.clickprompt(\"OK\") # waits for popup and click ok
puts txt #prints the popup text
txt1=iewin.clickprompt(\"OK\")
puts txt1

iewin.close
在执行以下代码时,将处理弹出窗口,但会产生以下错误:
C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:319:in `method_missing\': unknown property or method: `name\' (NoMethodError)
    HRESULT error code:0x80010108
      The object invoked has disconnected from its clients.
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:319:in `exists?\'
    from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-1.7.1/lib/watir/ie-class.rb:406:in `close\'
    from popup.rb:50:in `<main>\'
Press a button!
You pressed OK!
但是,当我删除命令\“ iewin.close \”时,不会显示错误消息。 \“ iewin.close \”命令关闭浏览器,然后watir无法执行任何操作,然后为什么显示错误消息。 请提出建议。     
已邀请:
看来您在Watir中使用ruby 1.9.2。 watir安装页面建议使用Ruby 1.8.7。那应该解决问题。 祝好运, 戴夫     
请注意,您的输出不正确。在Puts输出之前,您正在关闭浏览器时看到错误。 不知道这是一个棘手的问题还是什么,但是无论如何,它从输出中看起来像是窗口在依赖于它的东西完成之前试图关闭。也许在尝试关闭窗口之前尝试暂时插入一小段睡眠,持续一两到五次,以查看是否仍有问题。     
深入探讨一下。看来Ruby 1.9抛出的是\“ NoMethodError \”而不是\“ WIN32OLERuntimeError \”。 Watir IE代码如下读取 def存在吗?   开始     !!(@ ie.name =〜/ Internet Explorer /)   抢救WIN32OLERuntimeError     假   结束 结束 为了解决这个问题,可以将第二次救援添加到呼叫中 def存在吗?   开始     !!(@ ie.name =〜/ Internet Explorer /)   抢救WIN32OLERuntimeError     假   营救NoMethodError     假   结束 结束 我不知道添加这样的呼叫的副作用,但是它确实抑制了关闭警告。     

要回复问题请先登录注册