サーチ…


前書き

Webdriverを使用している間にスローされる例外はいくつかあります。以下の例は、それらの意味を理解するためのものです。

Pythonの例外

セレン例外ドキュメント

ElementNotInteractableException: DOM内に要素が存在するが、その要素とのやりとりがペイント順序のために別の要素にヒットした場合にスローされる

  • ElementNotSelectableException:選択できない要素を選択しようとするとスローされます。選択できない要素の例:
    • スクリプト
  • ElementNotVisibleException:要素がDOM上に存在するが可視ではないため、対話できない場合にスローされます。表示されていない要素のテキストをクリックまたは読み取ろうとするときによく発生します。
  • ErrorInResponseException:サーバー側でエラーが発生した場合にスローされます。これは、firefox拡張機能またはリモートドライバサーバと通信するときに発生する可能性があります。
  • ImeActivationFailedException: IMEエンジンのアクティブ化が失敗したときにスローされます。
  • ImeNotAvailableException: IMEサポートが利用できない場合にスローされます。この例外は、IMEサポートがマシン上で利用可能でない場合、すべてのIME関連メソッド呼び出しでスローされます。
  • InvalidArgumentException:コマンドに渡された引数が無効か不正な形式です。
  • InvalidCookieDomainException:現在のURLと異なるドメインにCookieを追加しようとするとスローされます。
  • InvalidElementStateException:アクションが要素に対して無効な状態になる場合にスローされます。サブクラス:
    • ElementNotInteractableException
    • ElementNotSelectableException
    • ElementNotVisibleException
  • InvalidSelectorException:要素の検索に使用されるセレクタがWebElementを返さない場合にスローされます。現時点では、セレクタがxpath式であり、構文的に無効(xpath式ではない)か、式でWebElements(たとえば "count(// input)")を選択しないと発生しません。
  • InvalidSwitchToTargetException:切り替えるフレームまたはウィンドウのターゲットが存在しない場合にスローされます。
  • MoveTargetOutOfBoundsException: ActionsChains move()メソッドに指定されたターゲットが無効な場合、つまりドキュメントが不足している場合にスローされます。
  • NoAlertPresentException:提示されたアラートに切り替えるとスローされます。これは、アラートがまだ画面に表示されていないときに、Alert()クラスの操作を呼び出すことによって発生する可能性があります。
  • NoSuchAttributeException: elementの属性が見つからなかった場合にスローされます。テストしている特定のブラウザに属性が存在するかどうかを確認することができます。一部のブラウザでは、同じプロパティのプロパティ名が異なる場合があります。 (IE8の.innerTextとFirefox .textContent)
  • NoSuchElementException:要素が見つからなかった場合にスローされます。この例外が発生した場合は、次の項目を確認してください。
    • あなたのfind_byで使用されているセレクターをチェック...
    • 検索操作時に要素がまだ画面に表示されていない可能性があります(Webページがまだ読み込まれています)。要素が表示されるまで待機する待機ラッパーを作成する方法については、selenium.webdriver.support.wait.WebDriverWait()を参照してください。
  • NoSuchFrameException:切り替えるフレームターゲットが存在しない場合にスローされます。
  • NoSuchWindowException:切り替えるウィンドウのターゲットが存在しない場合にスローされます。アクティブなウィンドウハンドルの現在のセットを見つけるには、次の方法でアクティブなウィンドウハンドルのリストを取得します。
    print driver.window_handles
  • RemoteDriverServerException:
  • StaleElementReferenceException:要素への参照が「古くなった」ときにスローされます。失効とは、要素がページのDOMに表示されなくなったことを意味します。 StaleElementReferenceExceptionの原因としては、次のものがありますが、これに限定されません。
    • あなたはもはや同じページにいないか、要素が配置されてからページがリフレッシュされている可能性があります。
    • エレメントは削除され、スクリーンに配置されている可能性があります。要素の再配置など。これは、通常、値が更新され、ノードが再構築されるときに、javascriptフレームワークで発生します。
    • 要素は、iframeやリフレッシュされた別のコンテキスト内にあった可能性があります。
  • TimeoutException:コマンドが十分な時間内に完了しなかった場合にスローされます。
  • UnableToSetCookieException:ドライバがCookieの設定に失敗したときにスローされます。
  • UnexpectedAlertPresentException:予期しないアラートが発生した場合にスローされます。通常、予想されるモーダルがWebdriverフォームをブロックして、それ以上のコマンドを実行しているときに発生します。
  • UnexpectedTagNameException:サポートクラスが予期しないWeb要素を取得しなかった場合にスローされます。
  • WebDriverException:基本Webdriver例外です。すべてのwebdriver例外は、WebDriverExceptionまたはInvalidStateExceptionを親クラスとして使用します。


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow