2011-12-15 7 views
0

私はセレンのテストをサイトを通じて注文を進めようとしています。このサイトはIEとのみ互換性があり、マウスの右ボタンを無効にします。特定のポイントで[続行]をクリックすると、JavaScriptのポップアップウィンドウが表示されます。このウィンドウでは「はい」を選択する必要がありますが、「はい」ボタンの「ID」を取得するためにソースを表示できません。セレンのポップアップソースがありません

ボタンのIDを特定したり、ソースを表示する方法を教えてもらえますか?

このウィンドウが表示されたら、開発ツールにアクセスすることはできません。

+0

「js-window」と言うと、ブラウザにウィジェットなどの新しいウィンドウなどが表示されますか? – SkyFox

答えて

1

それはjavascriptの警告だなら、あなたはこのような何か実行する必要があります。ドライバーは、使用しているWebDriverのインスタンスである

driver.SwitchTo().Alert().Accept(); 

を。

---- EDIT ----

JavascriptExecutor js = (JavascriptExecutor) driver; 
if(js.executeScript("document.readyState")== "complete") 
{ 
    thread.sleep(500); 
    driver.SwitchTo().Alert().Accept(); 
} 
+0

次のメッセージが表示されます 'org.openqa.selenium.NoAlertPresentException:警告がアクティブではありません。 'ページの読み込み中またはページが読み込まれる前に警告が表示されることがありますか? – BON

+0

@BONはポップアップがレンダリングされる前にコードが発射しているように聞こえます。私の推測では、javascriptのポップアップはdocument.readyで起動されますが、ページがロードされるとあなたのセレンは起動し、アラートスクリプトが起動する前にアラートを探します。解決のために私の編集を参照してください – CBRRacer

0

javascriptのポップアップの3種類があります

  1. アラートが - それは持っている - それだけ "はい" ボタン
  2. 確認を持っています"はい"と "いいえ"ボタン
  3. プロンプト - 何かを書くための入力領域と "はい"と "いいえ"ボタンがあります

表示されるポップアップの種類を確認し、それに応じて動作する必要があります。

関連する問題