2012年6月5日火曜日

[Selenium 2] Try & Error集 2

バージョン2.21で「Could not load native events component」例外が発生する

確認バージョン:Selenium 2.21
ブラウザ:Firefox 9, 12
対処法:バージョン上げる ※2.22検証済

以前書いたマウスホバー実現方法のエントリで、
「現時点のSelenium最新バージョン2.21はFirefox12に対応していないようで動かず…」
と書きましたが、あの後Firefox9で試してみたら9でも例外発生しました。
発生した例外は以下。

org.openqa.selenium.InvalidElementStateException: Cannot perform native interaction: Could not load native events component.

発生元は以下。

上記以外でも発生するかもしれません。

発生原因は不明。きっとSeleniumのデグレでしょう。バージョン2.22にしたら解決。

「MoveTargetOutOfBoundsException」例外の対処法

確認バージョン:Selenium 2.18
ブラウザ:Firefox 9
対処法:事前にターゲットが見えるように座標やウィンドウサイズ調整する

ただリンクやボタンをクリックするだけといった何てこと無い処理で、時々以下例外が発生することがありました。

org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view

ターゲットがウィンドウ領域外にある場合、見える位置まで自動スクロールしてから処理が実行されるのですが、どうも時々スクロールがうまくいかない場合がある模様。
スクロールが原因なのであれば、JavaScriptで座標調整したり、ウィンドウ最大化するなどして、予めターゲットが見えるような状態にしておけばよい。

※サイト・ページによっては、上記コードが働かない場合がありました。原因不明。

FirefoxのJavaScriptを無効化できない!

確認バージョン:Selenium 2.18, 2.21
ブラウザ:Firefox 9
対処法:不明

それっぽいメソッドがあったので使ってみたのですが、falseセットしても無効化できず。

OSやブラウザバージョンとか他にいろいろ設定して試してみてもダメだった。

0 件のコメント: