ホームページ >バックエンド開発 >Python チュートリアル >リンクをクリックしたときの Splinter/Selenium の「ElementClickInterceptedException」を克服する方法
要素をクリックできない: Splinter / Selenium の ElementClickInterceptedException
Splinter または Selenium を使用して Web ページをスクレイピングするときに、特定の要素をクリックしようとすると問題が発生するリンクやボタンが発生する可能性があります。この問題は、Web ページが読み込まれるときに発生し、クリック可能な要素を隠す「loadingWhiteBox」が表示されます。
「loadingWhiteBox」は数秒後に消えますが、HTML コードにはそのまま残ります。ボックスは表示されたままですが、要素をクリックしようとするのが妨げられ、次のエラー メッセージが表示されます。別の要素
この問題を解決し、目的の要素をクリックするには、以下のメソッドのいずれかを実装することを検討してください。
このメソッドは、execute_script 関数を利用して、要素をクリックする JavaScript コードを実行します。<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') driver.execute_script("arguments[0].click();", element)</code>あるいは、このメソッドは、ActionChains クラスを使用して、マウス カーソルを要素の位置に移動し、クリックを実行して、邪魔な要素を効果的にバイパスします。
<code class="python">element = driver.find_element_by_css('div[class*="loadingWhiteBox"]') webdriver.ActionChains(driver).move_to_element(element).click(element).perform()</code>
以上がリンクをクリックしたときの Splinter/Selenium の「ElementClickInterceptedException」を克服する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。