セレンでonload javascriptアラートを処理するには?
Selenium IDE でキャプチャされておらず、getAlert() 関数によって処理されていません。
セレンでonload javascriptアラートを処理するには?
Selenium IDE でキャプチャされておらず、getAlert() 関数によって処理されていません。
私も同じ問題に直面しました。セレンで数時間過ごした後、java スクリプトのアラートとポップアップを処理するためのソリューションを見つけました。
セレンの keyPressNative を使用して、セレン RC からの Java スクリプト アラートを処理できます。
メソッドの使用方法key*Native()
は次のとおりです。
selenium.keyPressNative("27"); // Escape
selenium.keyPressNative("10"); // Enter
selenium.keyDownNative("16"); // Press and do not relase the shift key, so that
selenium.keyPressNative("79"); // this character will be capitals
selenium.keyUpNative("16"); // Release the shift key, as we don't need it for the
selenium.keyPressNative("67");
それはお勧めできませんが、セレンの失敗のいくつかを処理するのに役立ちました。
それはできません。Seleniumのドキュメントに記載されているように:
Seleniumは、これらのダイアログを(window.alert、window.confirm、window.promptを置き換えて)隠そうとし、ページの実行を停止しないようにします。アラートポップアップが表示されている場合は、ページの読み込みプロセス中に発生した可能性があります。これは通常、ページを保護するには時期尚早です。
これは、Selenium RC(したがって、Selenium IDEも)の既知の制限であり、Selenium 2(WebDriver)が開発された理由の1つです。onload
JSアラートをキャッチしたい場合は、 WebDriver アラート処理を使用する必要があります。
回避策として、Robot
任意のテキストを入力し、Enterキーを押して、ダイアログを盲目的に確認するために使用できます。これは最もクリーンな方法ではありませんが、機能する可能性があります。alert
ただし、メッセージを受信することはできません。