リンクをクリックしたときの Splinter/Selenium の「ElementClickInterceptedException」を克服する方法

Mary-Kate Olsen
リリース: 2024-10-27 05:01:02
オリジナル
784 人が閲覧しました

How to Overcome

要素をクリックできない: Splinter / Selenium の ElementClickInterceptedException

Splinter または Selenium を使用して Web ページをスクレイピングするときに、特定の要素をクリックしようとすると問題が発生するリンクやボタンが発生する可能性があります。この問題は、Web ページが読み込まれるときに発生し、クリック可能な要素を隠す「loadingWhiteBox」が表示されます。

「loadingWhiteBox」は数秒後に消えますが、HTML コードにはそのまま残ります。ボックスは表示されたままですが、要素をクリックしようとするのが妨げられ、次のエラー メッセージが表示されます。別の要素

があるため、ポイント (318.3000030517578,661.7999877929688) をクリックできません。わかりにくくなります

この問題を解決し、目的の要素をクリックするには、以下のメソッドのいずれかを実装することを検討してください。

このメソッドは、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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!