Windows Watir::IE.attach(:title,/x/)在Win 7 IE8上无法正常工作

Windows Watir::IE.attach(:title,/x/)在Win 7 IE8上无法正常工作,windows,internet-explorer,windows-7,internet-explorer-8,watir,Windows,Internet Explorer,Windows 7,Internet Explorer 8,Watir,系统: 窗口7 Internet Explorer 8 Ruby 1.8 瓦蒂尔1.6.5 如果我手动打开浏览器窗口,然后访问导致第二个浏览器窗口打开的站点,然后使用Watir::IE.attach方法查找第二个浏览器窗口,则一切正常。问题是当我用Watir::IE.new命令打开第一个Internet Explorer窗口,然后访问导致第二个浏览器窗口打开的站点时。当我使用Watir::IE.attach查找第二个浏览器窗口时,我现在得到: Watir::Exception::NoMatchi

系统: 窗口7 Internet Explorer 8 Ruby 1.8 瓦蒂尔1.6.5

如果我手动打开浏览器窗口,然后访问导致第二个浏览器窗口打开的站点,然后使用Watir::IE.attach方法查找第二个浏览器窗口,则一切正常。问题是当我用Watir::IE.new命令打开第一个Internet Explorer窗口,然后访问导致第二个浏览器窗口打开的站点时。当我使用Watir::IE.attach查找第二个浏览器窗口时,我现在得到: Watir::Exception::NoMatchingWindowFoundException:无法定位标题为(?-mix:x)的窗口 from/ie class.rb:297:在“附加浏览器窗口”中 from/ie class.rb:149:in'\u attach\u init' from/ie class.rb:143:in'attach' 起始(irb):15

有人遇到过这个问题并提出了解决方案吗

我做了更多的调查,我正在用管理权限运行我的脚本,它以管理员身份打开IE8,然后尝试打开一个新窗口。我试图以管理员身份手动打开IE8,然后从浏览器中打开一个新窗口,然后使用watir运行attach命令,但我确实收到了与使用watir创建初始窗口相同的错误

我确实希望能够以管理员身份运行脚本

我已尝试手动执行watir命令,并在脚本中运行:

======================

需要“rubygems”

需要“watir”

ie=Watir::ie.start(“”)

ie.link(:文本,“HTML帮助”)。单击

ie2=Watir::IE.attach(:title,/Help/)


=========================

现在,watir假定您要连接到的窗口名为“Internet Explorer”。我认为IE8的名称可能与此不同。您可以在ie-class.rb的第238行更改此设置


布雷特

我也收到了同样的问题。我对它进行了更多的调查,问题似乎是当已经存在一个使用管理权限打开的IE8实例时,Watir不会看到任何其他IE8窗口以管理员身份运行,包括它自己打开的窗口

我是这样认识到的:

Watir::IE.each do |window|

  puts window.title

end
我试过的案例是:

  • 没有以前打开的IE窗口导致watir只列出新的浏览器,而不是它创建的(我想附加到的)浏览器
  • 一个或多个以前打开的非管理IE窗口将列出预先存在的浏览器实例及其本身,但它同样不会列出它生成的新窗口
  • 一个或多个以前打开的IE windows以管理员身份运行略有不同,因为它会列出所有预先存在的窗口,但不会列出它自己或它创建的任何其他窗口
  • 这让我得出结论,Watir不会在其列表中保留任何在现有管理员特权IE8打开后创建的IE8管理员特权实例


    我现在使用的解决方案就是不要以管理员的身份运行脚本。我意识到在某些情况下这并不是一个真正的选项,但这是迄今为止我所能找到的最好的选项。

    关闭用户帐户控制(设置为最低设置)。转到控制面板->系统和安全->操作中心->更改用户帐户控制设置,并将滑块降至最低设置


    我遇到了相同的问题,这为我解决了问题。

    您确定您正在手动和使用Watir脚本执行相同的操作吗?你能发布你的脚本和窗口的标题吗?我更喜欢这个网站的Watir支持,但你会发现更多的Watir用户在你能在Windows XP上试用IE8吗,看看这是否与Windows 7有关?我在Windows XP上试用了IE7,它工作正常。我在Windows XP上试用了IE8(32位),它工作正常。我在Windows 2003服务器上试用了IE8(64位)我查看了WIN32OLE.new(Shell.Application.windows)进入ie-class.rb的窗口,新的弹出窗口根本没有列出。我的建议不正确。我试着投了反对票,但我不允许投我自己的票。留下评论(像你一样)应该是未来读者的足够信息。