Pythonのseleniumエラー対応 ElementNotSelectableException

“Selenium"を使用してWebページ上の要素を操作しようとすると、"ElementNotSelectableException"というエラーが発生することがあります。このエラーは、要素が選択可能な状態にないときに発生します。要素が非選択可能な、非表示、または非対話可能な状態にある可能性があります。

このエラーを解決するために、以下の方法を試してみることができます:

  1. ウェイトを追加する:
    要素が選択可能な状態になるまで待機することが重要です。WebDriverWaitを使用して要素が選択可能になるのを待つことができます。次のコードは、要素が選択可能になるまで待機する例です。

    python
    from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.XPATH, "XPath of the element"))) element.click()
  2. スクロールして要素を表示する:
    要素が画面外にある場合、要素を画面にスクロールして表示することで、要素が選択可能になるかもしれません。

    python
    element = driver.find_element(By.XPATH, "XPath of the element") driver.execute_script("arguments[0].scrollIntoView();", element)
  3. クリック操作を行う前に必要な操作を実行する:
    “ElementNotSelectableException"が発生する場合、要素が選択可能になるために他の操作が必要かもしれません。要素を選択可能にするために必要な操作を事前に実行し、その後要素を選択することを検討してください。

これらの方法を試してみて、"ElementNotSelectableException"エラーを解決できるかどうか確認してください。要素が選択可能になるまで待機することが最も安全な方法ですが、状況に応じて他の方法を使用することもあります。