まえがき
Selenium webdriver(java)のエラー内容を簡単に参照できる場所がなかったのでこちらにまとめることにしました。
https://www.guru99.com/exception-handling-selenium.html
を機械的に翻訳しつつ、自分の経験を織り交ぜて加筆、修正しました。
元サイトの記載がどれほど正確かも不透明で、全ての例外に対してSeleniumのコードをしっかりと読んで書いたわけではないので完全な厳密性は保証できないですが、有用な情報も多く含んでいると思います。
#例外
全てではないですが、よく発生する例外を中心に記載しています。
操作対象を見つけられない系の例外
よく遭遇するやつ。操作をしようとした要素やフレームなどが見つからなかった場合に発生する例外。
例外名 | 説明 |
---|---|
NotFoundException | 操作対象が存在しない場合に発生します。NoAlertPresentException, NoSuchContextException, NoSuchCookieException, NoSuchElementException, NoSuchFrameException, NoSuchWindowExceptionのスーパークラス |
NoAlertPresentException | javascriptによるアラートが表示されていないにもかかわらずアラートを操作しようとした場合に発生 |
NoSuchContextException | |
NoSuchCookieException | 現在閲覧しているドキュメントの関連づけられたCookieの中に、指定されたパス名と一致するCookieが見つからない場合に発生します。 |
NoSuchElementException | 操作対象の要素が存在しない場合に発生 |
NoSuchFrameException | 存在しないframeを選択しようとした場合に発生 |
NoSuchWindowException | 存在しないウインドウターゲットを選択しようとした場合に発生 |
StaleElementReferenceException | 操作対象の要素がDOMから削除された場合に発生します。 |
要素に対して処理ができなかった系の例外
よく遭遇するやつ。操作をしようとした要素の状態が期待したものと違っていて操作できなかった場合に発生。
例外名 | 説明 |
---|---|
InvalidCoordinatesException | 無効な座標を指定して操作を行った場合に発生します。 |
InvalidElementStateException | 操作対象の要素がアクションを実行できない状態であるにもかかわらず操作しようとした場合に発生します。ElementNotInteractableException, ElementNotSelectableExceptionのスーパークラス |
ElementNotInteractableException | |
ElementClickInterceptedException | 操作対象の要素が別の要素に隠されていてクリックできなかった場合に発生します。 |
ElementNotVisibleException | 操作対象の要素が非表示状態にあるために発生する例外 |
ElementNotSelectableException | 操作対象の要素がDOMに存在するものの選択できない場合に発生する例外 |
それ以外(頻出)
上記以外でよく発生する例外。
例外名 | 説明 |
---|---|
TimeoutException | 指定時間待機したものの、処理が成功しなかった場合に発生します。例えば、WebDriverWaitのuntilを利用して、ある要素を指定時間内検索したものの見つからなかった場合に発生します。 |
JavascriptException | ユーザーがWebDriverを通じて実行したJavaScriptにて例外が起きた場合に発生します。 |
SessionNotCreatedException | 新しいセッションを正常に作成できなかった場合に発生します。 |
WebDriverException | Seleniumの例外の基底クラス。RuntimeExceptionのサブクラス。既存の例外で分類できないエラーは大概これだと思う。 |
それ以外
例外名 | 説明 |
---|---|
ConnectionClosedException | このタイプの例外は、ドライバーが切断された場合に発生します。 |
ImeActivationFailedException | IMEエンジンのアクティブ化が失敗した場合に発生します。 |
ImeNotAvailableException | IMEが利用できないにもかかわらず利用を試みた場合に発生します。 |
InsecureCertificateException | TLS証明書が無効または期限切れであること等が原因で証明書の警告が表示された場合に発生します。 |
InvalidArgumentException | 不正な引数が渡された場合に発生します。 |
InvalidCookieDomainException | 現在のURLとは異なるドメインでCookieを追加しようとしたときに発生します。 |
JsonException | |
ScreenshotException | 画面キャプチャの取得ができなかった場合に発生します。 |
UnableToSetCookieException | ドライバーがCookieを設定できない場合に発生します。 |
UnexpectedTagNameException | 対象要素のtag名がSelectではない場合に発生します。 |
UnhandledAlertException | |
UnknownServerException | |
UnreachableBrowserException | ブラウザまたはSeleniumサーバーとの通信に問題があったことを示します。 |
UnsupportedCommandException | 実行したコマンドがサポートされていないことを示します。 |