0

ブラウザーを制御するために Java セレンを使用しています (Web ページを開く、Cookie を削除するなど)。アラートがあるときはいつでも、次のように無視します。

try

{

    webDriver.someFunc();

}

catch (UnhandledAlertException error)

{

    webDriver.switchTo().alert().dismiss();

}

次に、場合によってはNoAlertPresentException、アラートを無視しようとするとスローされます。

わかりません。どうすればハンドラーNoAlertPresentException内からスローされる可能性がありますかUnhandledAlertException?????

ありがとう

4

2 に答える 2

0

私も同じエラーが発生していますが、その理由を理解できませんか?

私はこれを試しました:

試す

{

webDriver.someFunc();
webDriver.switchTo().alert().dismiss();

}

キャッチ (UnhandledAlertException エラー)

{

//無視

}

これはうまくいくはずです。コードの問題はおそらく次のとおりです。アラートを開くボタンをクリックし、それをtryブロックに入れたとします.unhandledalertexceptionがトリガーされるとすぐに(アラートが開かれたとき)、次のステートメントが無効になるようにアラートが自動的に閉じられますそのため、catch ブロックで定義したステートメントが無効になり、アラートが既に無視されているため、No alert found 例外が表示されます。しかし、最初に unhandledalert 例外がトリガーされる理由を突き止めようとしています。一部のアラートで突然トリガーされ、すべてのアラートで表示されるわけではありません。

これが明確になることを願っています。

于 2013-10-30T05:38:13.923 に答える
-1

まず、アラートはアクションによってトリガーされるため、未処理のアラートの概念は私には意味がないと言わなければなりません。アラートがどのようにトリガーされるかを理解していない場合は、これについて開発者と話し合い、適切な方法で処理する必要があります。そうは言っても、DesiredCapabilities -> CapapilityType -> UNEXPECTED_ALERT_BEHAVIOURを見てください。

于 2013-10-29T20:21:22.977 に答える