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

おすすめ記事

URL解析、接続 - Python徹底解説
URL解析、接続 - Python徹底解説
geojsonをfoliumで綺麗な地図を作る
geojsonをfoliumで綺麗な地図を作る
Omni chat google extension 作成しました
Omni chat google extension 作成しました
全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた
全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた
Bestな3D 開発プログラミング環境とは… OpenGL , DierctX , Unity …
Bestな3D 開発プログラミング環境とは… OpenGL , DierctX , Unity …
画像 切り出し、トリミング - OpenCV、Python徹底解説
画像 切り出し、トリミング - OpenCV、Python徹底解説
Supponsered

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

Comments

comments powered by Disqus