2013-02-14 117 views
0

所以,我使用 -硒webdriver的错误只是打开IE

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 - 他们只是开,因为他们应该打开。它刚从本周开始发生。我的意思是我现在使用硒-webdriver多年,从未遇到过打开IE或任何浏览器的问题。错误表示有一个模式对话框,但是当我刚刚打开IE时,怎么会有一个模式对话框,并且当IE webdriver打开时我没有看到任何对话框。如果是这样,为什么其他浏览器不抱怨?

我假设它可能需要一些窗口或安全更新,大干快上公司的笔记本电脑推到做,但我只是想看看是否有其他人也遇到过这一点,是什么解决办法?

+0

在IE自己打开一个空白窗口,你看到一个对话框或类似的东西?通常,它表示硒在“自然”浏览器状态下检测到某些内容不符合要求 – 2013-02-14 16:01:35

回答

0

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

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

在这两种情况下,看到更新的later version of IEDriverServer.exe是否能解决这个问题。

0

好的,找到了解决办法。这是反病毒的东西。问题是 - 当您使用IE浏览器运行脚本时,McAfee网站顾问模式窗口位于IE浏览器之上,因此我们无法访问IE浏览器甚至打开它。只是因为IE在我的工作环境中是“默认”和“首选”浏览器,所以它只针对IE。

McAfee提供两个DLL文件并复制粘贴他们到一些特定的位置解决了问题。对不起,我在这个问题中使用了所有的想法,但它与硒没有关系,但是是McAfee问题。结束这个问题。