0

だから、私は使用しています -

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 Web ドライバーが開いたときにダイアログ ボックスが表示されません。もしそうなら、なぜ他のブラウザは文句を言わないのでしょうか?

会社のラップトップにプッシュされるいくつかのウィンドウまたはセキュリティ更新プログラムに関係する必要があると思いますが、他の誰かが以前にこれに遭遇したかどうか、および解決策は何でしたか?

4

2 に答える 2

0

さて、解決策を見つけました。それはアンチウイルスのことでした。問題は、IEでスクリプトを実行しているときに、McAfeeサイトアドバイザーのモーダルウィンドウがIEブラウザーの上に表示されるため、IEブラウザーにアクセスして開くことさえできないということでした。そしてそれは、IEが私の職場で「デフォルト」および「優先」ブラウザであるという理由だけでIEに固有でした。

マカフィーは2つのdllファイルを提供し、それらを特定の場所にコピーして貼り付けることで問題を解決しました。申し訳ありませんが、この質問はセレンとは関係ありませんが、マカフィーの問題でしたが、すべてのことを考えました。質問を閉じます。

于 2013-02-18T21:01:28.177 に答える
0

私が考えることができる2つの可能性があります。1 つは、テストを実行しようとしているときに Windows タスク マネージャーを開いていることです。以前のバージョンの IE ドライバーにはバグがあり、IE ドライバーでコードを実行しているときにタスク マネージャーが開いていると、UnexpectedAlertException を不適切にスローする可能性がありました。

2 番目のオプションは、ダイアログ ウィンドウを内部的に作成するが、非表示のままにするブラウザー プラグインです。問題を引き起こす可能性のある IE 用のウイルス対策およびその他のマルウェア対策プラグインが多数あります。

いずれの場合も、IEDriverServer.exeを新しいバージョンに更新して、問題が解決するかどうかを確認してください。

于 2013-02-14T20:51:49.457 に答える