PythonでSeleniumでスクレイピング時にClickでElementClickInterceptedException例外で失敗する。

 

{{DZ_TITLE}}
Seleniumでスクレイピング時にClickでElementClickInterceptedException例外で失敗します。
その理由は、クリックする領域が表示されていないから。
今回はその対処法を紹介します。

ElementClickInterceptedException 例外は

Seleniumでclickをした場合に起こる例外です。

主な原因

  • クリックしたい領域が、画面の外にある。

  • クリックしたい領域の上に、他のエレメントがかぶさっている

クリックしたい領域が、画面の外にある。

クリックしたい部分が、画面の外にあり、クリックできない場合です。
少し領域が離れている場合、プログラムでスクロールする事で改善できます。
driver.execute_script(“arguments[0].scrollIntoView(false);", elem)
だけで処理は完了です。

関数化しておくと使いやすいでしょう。

def click(driver,elem):
    driver.execute_script("arguments[0].scrollIntoView(false);", elem)
    elem.click()

クリックしたい領域の上に、他のエレメントがかぶさっている

例えば『cookieの使用許可』、『お知らせのアラート』、『広告』等の画面が覆いかぶさっていることがあります。
そちらを事前に閉じるなどして、クリックしたい対象の領域が隠れないようにする必要があります。

おすすめ記事

Django テンプレート 使用 #1
Django テンプレート 使用 #1
JSONの書込み、読込 等 - Python徹底解説
JSONの書込み、読込 等 - Python徹底解説
Blender Bone - Python
Blender Bone - Python
Pandas徹底解説 - Python
Pandas徹底解説 - Python
画像 切り出し、トリミング - OpenCV、Python徹底解説
画像 切り出し、トリミング - OpenCV、Python徹底解説
Raspberry pi Liteの非X Window環境でJackdを動かす
Raspberry pi Liteの非X Window環境でJackdを動かす
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus