4

現在、Selenium Web ドライバーを使用しています。(2.24.1)- プログラミング言語--JAVA

Web ページを HTML のみの形式で保存したいので、Robot クラスを使用して Web ページを保存しています。

この保存機能をループで (n 回) 使用しています。

これは、ループ内のいくつかのケースではうまく機能しますが、ランダムに (1 回目または 3 回目... n 回目)、エラー メッセージ「スレッド "メイン" org.openqa.selenium.UnhandledAlertException: モーダル ダイアログでの例外」で失敗します。存在します (警告: サーバーはスタックトレース情報を提供しませんでした)"

4

1 に答える 1

2

モーダル ダイアログの内容にもよりますが、チェックする項目が 3 つあります。

まず、おそらく Web Driver をアップグレードする必要があります。Webdriver 2.2.24
を使用していることに気付きました。ブラウザとして FireFox も使用している場合は、WebDriver を2.2.26以降にアップグレードする必要があります。「Firefox が拡張機能とプラグインの更新を更新、チェック、および警告しないようにする」という変更がありました。これらのいずれかが発生した場合、モーダル ダイアログも表示されます。

次に、テストしているサイトによって発生するダイアログである可能性があります
javascript alert() または window.Prompt() は、サイトがさまざまなことを行うために発生するモーダル ダイアログの例です。WebDriver を使用して、これらのダイアログを操作できます。

上記のいずれでもない場合は、ダイアログのスクリーン キャプチャを取得します ダイアログは、 WebDriver API を介してアクセスできるものではない可能性があるため、画面全体をキャプチャするコードを記述する必要があります (グーグルで簡単に取得できるはずです)。または、コードの実行中にビデオ セッションを記録することもできます。

于 2013-06-24T04:29:31.120 に答える