刚刚打开IE的selenium-webdriver错误

时间:2013-02-14 15:58:01

标签: cucumber selenium-webdriver irb

所以,我正在使用 -

gem 'watir-webdriver', '0.5.4'
gem 'selenium-webdriver', '2.21.1'

和JRuby - 1.6.5

我要做的就是打开IE浏览器。我有IE版本8。

>> require "rubygems"
=> true

?> require "watir-webdriver"
=> true

?> @b = Watir::Browser.new :ie
Selenium::WebDriver::Error::UnhandledAlertError: Modal dialog present
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/http/default.rb:64:in `request'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/http/default.rb:62:in `request'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/bridge.rb:598:in `raw_execute'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/bridge.rb:92:in `create_session'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/remote/bridge.rb:68:in `initialize'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/ie/bridge.rb:40:in `initialize'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver/common/driver.rb:35:in `for'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/selenium-webdriver-2.21.2/lib/selenium/webdriver.rb:63:in `for'
from C:/jruby-1.6.5/lib/ruby/gems/1.8/gems/watir-webdriver-0.5.8/lib/watir-webdriver/browser.rb:35:in `initialize'
from (irb):5:in `evaluate'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:158:in `eval_input'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:271:in `signal_status'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:155:in `eval_input'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:154:in `eval_input'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:71:in `start'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:70:in `catch'
from C:/jruby-1.6.5/lib/ruby/1.8/irb.rb:70:in `start'
from C:/jruby-1.6.5/bin/jirb:13:in `(root)'
from -e:1:in `load'
from -e:1:in `(root)'>>  

IE webdriver被打开,但上面出现错误。

当我使用任何其他浏览器 - firefox或chrome时 - 它们只是打开,因为它们应该打开。它从本周开始发生。我的意思是我现在使用selenium-webdriver多年了,从来没有打开IE或任何浏览器的问题。错误说有一个模态对话框,但是当我打开IE时,怎么会有一个模态对话框,当IE webdriver打开时我看不到任何对话框。如果是这样,为什么其他浏览器不抱怨?

我假设它可能需要处理公司笔记本电脑上推送的一些Windows或安全更新,但我只是想看看其他人之前是否遇到过此问题以及解决方案是什么?

2 个答案:

答案 0 :(得分:0)

我能想到两种可能性。一个是当您尝试执行测试时,您打开了Windows任务管理器。 IE驱动程序的先前版本中存在一个错误,如果在使用IE驱动程序运行代码时任务管理器处于打开状态,则可能会错误地抛出UnexpectedAlertException。

第二个选项是一个浏览器插件,它在内部创建一个对话框窗口,但保持隐藏状态。 IE中有许多可能导致此问题的防病毒和其他反恶意软件插件。

在任何一种情况下,都要更新到later version of IEDriverServer.exe以查看是否能解决问题。

答案 1 :(得分:0)

好的,找到了解决方案。这是反病毒的东西。问题是 - 当您使用IE运行脚本时,McAfee站点顾问模式窗口位于IE浏览器的顶部,因此我们无法访问IE浏览器甚至打开它。它仅限于IE,因为IE在我的工作场所是“默认”和“首选”浏览器。

迈克菲提供了两个dll文件,并将它们复制粘贴到某个特定位置解决了这个问题。对不起,我在这个问题中使用了你所有的想法,虽然它与硒没有关系但是是mcafee问题。结束这个问题。