2012-05-21 12 views

答えて

5

私は同じ問題に直面しました。セレンで数時間過ごした後、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"); 

それは得策ではないが、セレンの障害のいくつかの処理に私を助けました。

0

できません。 As stated in Selenium documentation

セレンは( のwindow.alert、window.confirmとにwindow.promptを交換することによって)あなたからそれらのダイアログを隠すためにしようとするので、彼らはあなたのページの 実行を停止しません。アラートポップアップが表示されている場合は、おそらく です。これは、ページロードプロセス中に発生した可能性があります。 ページを保護するには早すぎます。

これはSelenium RC(および、したがって、Selenium IDE)の既知の制限であり、Selenium 2(WebDriver)が開発された理由の1つです。 JSアラートonloadをキャッチする場合は、to use WebDriveralert handlingが必要です。

回避策として、Robotを使用してテキストを入力し、Enterキーを押してダイアログを盲目的に確認することができます。それは一番クリーンな方法ではありませんが、うまくいく可能性があります。ただし、alertメッセージを受け取ることはできません。

関連する問題