Pythonのseleniumエラー対応 ElementNotVisibleException

“Selenium"を使用してWebページ上の要素を操作しようとすると、"ElementNotVisibleException"というエラーが発生することがあります。このエラーは、要素が非表示の状態にあるか、画面上に表示されていない場合に発生します。

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

  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.visibility_of_element_located((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. 別の要素をクリック:
    画面上に表示されていない要素をクリックしようとしている場合、他の要素をクリックして表示させたり、必要な操作を行ったりして、対象の要素が表示されるようにすることがあります。

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