Splinter / Selenium の ElementClickInterceptedException
Web 要素をクリックしようとすると、次のエラーが発生することがよくあります:
ElementClickInterceptedException: Element is not clickable at point because another element obscures it
このエラーは、読み込みボックスやオーバーレイなどの別の HTML 要素がターゲットのリンクまたはボタンの前に表示され、その操作が妨げられると発生します。
考えられる解決策
この障害を克服するには、次の戦略を検討してください。
方法 1: JavaScript Executor を使用する
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') driver.execute_script("arguments[0].click();", element)
方法 2: アクションチェーン
element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') webdriver.ActionChains(driver).move_to_element(element ).click(element ).perform()
説明
これらのメソッドには、問題の原因となる要素 (この場合はローディング ボックス) を見つけてから、 JavaScript を使用するか、アクション チェーンを使用してクリック インタラクションを使用してマウス アクションをシミュレートし、隠れた要素を克服します。
以上がSplinter/Selenium で ElementClickInterceptedException を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。