Ruby+watir不能定位新打开的窗口解决办法

ruby 192 + watir 3.0.0

今天遇到了一个比较怪异的问题:在脚本中使用 Watir::IE.attach 定位一个新打开的IE窗口,始终报错,错误信息:

“watir-classic-3.0.0/lib/watir-classic/ie-class.rb:760:in `rescue in attach_browser_window': Unable to locate a window with url of (?-mix:baidu.com) (Watir::Exception::NoMatchingWindowFoundException)”

脚本根本就没有去执行我的Watir::IE.attach()。

1、把ruby环境拷贝到另外一台机器上windows 2003+IE 7的环境中,在Watir::IE.attach()的上一步ie.link(:id,'kuaiyixie').click上面添加ie.wait就可以定位到新打开的页面,但是在我本机的环境中始终不可以,加上ie.wait也不行。可能是人品不好吧 

另外说一下 在windows 2003+IE 7中,会出现浏览器安全增强问题,解决办法:在删除程序中-添加windows组件窗口中把浏览器的增加安全配置的对勾去掉即可,如图:

2、最终解决方法:修改IE的启动方式,把Watir::IE.new修改为Watir::IE.new_process

nnd折腾了几乎一上午,下午无意中在网上看到的该方法,不管怎样,问题解决了就好。

  
原文地址:https://www.cnblogs.com/zhuque/p/2815140.html