webdriverでテストボットを行っています。私はボタンをクリックし、新しいウィンドウを開いて、特定のxpathで要素を検索するシナリオを持っていますが、無効にすることができ、このエラーが発生することがあるため、時々そのような要素はありません:org.openqa.selenium .NoSuchElementException。どのように私はそれをバイパスすることができます/それはxpathで要素を見つけていないだけでコードを続行しない場合は、単に新しいウィンドウを閉じるので、ボットを続行できますか? Javaではエラー後にwebdriver/seleniumを続ける方法
1
A
答えて
2
:
List<WebElement> foundElement = driver.findElements(By.xpath("<x-path of your element>"));
if (foundElement.size() > 0)
{
// do whatever you want to do in **presence** of element
} else {
// do whatever you want to do in **absence** of element
}
2
あなたは、try/catch文でクリックイベントを囲む必要があり、例外はあなたが迂回しようとしているものであればcatch文チェック内側:
try {
driver.findElement(by).click();
} catch(Exception e) {
if (!(e instanceof NoSuchElementException)) {
throw e;
}
}
は、
+1
例外を再スローするとOPの実行は停止します。彼はその点から続行したい。多分、再投げの代わりに例外を記録/印刷してください。 –
+1
例外は例外がNoSuchElementExceptionのインスタンスでない場合にのみスローされますが、はい、必要なすべての例外を無視できます – valarauko
関連する問題
- 1. Xcode:エラー後にビルドを続ける方法
- 2. HttpRequestエラーを取得した後、バイパスして続ける方法
- 3. ページを更新した後にマーキーを続ける方法?
- 4. キーアップが発生した後にkeydownイベントを続ける方法
- 5. マウスクリック後にJTextAreaで自動スクロールを続ける方法は?
- 6. 停止後にTestFlightでテストを続ける方法
- 7. objc_msgSendの呼び出し後に続ける方法
- 8. 詐欺、エラーの後にクロールを続ける
- 9. XCUITestの後に続ける
- 10. ラップカウントを続ける方法
- 11. RxJava - Observableからサブスクライブした後のバックグラウンドタスクを続ける方法
- 12. ブラウザ()の後に実行を続ける
- 13. ソケットエラー後にループを続ける
- 14. Xリトライ後にポリリーを続ける
- 15. タイムアウトした後にリクエストを続ける
- 16. VBA(Word 2016)のDocuments.addの後にコードを実行し続ける方法は?
- 17. 角度4 i18n - 翻訳ファイルを追加した後に続ける方法?
- 18. ネストされたモデルがrailscastsを形成した後に続ける方法は?
- 19. C#無効な入力の後にプログラムを実行し続ける方法
- 20. 後方関係に続いて、注釈を付ける結果
- 21. httpエラーを受け取った後にSpringインテグレーションのカスタムヘッダにアクセスする方法
- 22. ページ1の後に数え続ける
- 23. JSONへのレスポンスを続ける方法
- 24. アンドロイドでアニメーションを続ける方法は?
- 25. コードからDebug.Assert()の後に続ける方法はありますか?
- 26. SwiftのshouldPerformSegue()でフィールドを確認した後、segueを続ける方法
- 27. ssl接続エラーをデバッグする方法
- 28. エラーが発生し続ける:送信後にヘッダーを設定できない
- 29. Sparkがサブミット後に入力を受け付ける方法
- 30. 例外時に文法エラーが発生し続ける
ありがとう、完璧に動作します! – Simple