Python Selenium プログラミング

【Python】Seleniumで「element click intercepted」でボタン要素がクリックできない時の対策

この記事は約3分で読めます。

 

 

こんにちは、ミナピピン(@python_mllover)です。

 

「element click intercepted」でボタン要素がクリックできない

 

PythonのSeleniumでボタン要素を.click()でクリックしようとして、↓のようなエラーが出てしまいどうしてもクリックできないことがありました。

 

<エラーメッセージ>

selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element<a >…</div>(Session info: chrome=96.0.4472.77)

 

スポンサーリンク
スポンサーリンク

解決策

 

ElementClickInterceptedException: Message: element click intercepted: でクリックできない時
以下、1行目の.find_element_by_css_selector()やa.small-btnの部分は環境に合わせて書き換えてください。

 

element = driver.find_element_by_xpath('/html/body/div[1]/div[2]/main/div/div/~~~/button')
driver.execute_script('arguments[0].click();', element)

 

seleniumではdriver.execute_script()でjsを実行できるので、要素を取得したら、JavaScriptによってクリックをするようにしています。これでクリックできるようになるはずです。ちなみにこのエラーはSeleniumを使う際に何回か遭遇しているんですが、headlessモードでレンダリングしているときとかに起こる印象です。

 

 

関連記事:【Python】SeleniumでTor経由でIPを切り替えつつスクレイピングする

 

関連記事:【Python】Seleniumで使用するWebDriverの更新を自動化してコードの挙動を安定させる

 

 

 

参考:https://yuki.world/selenium-elementclickintercepted-exception/

コメント

タイトルとURLをコピーしました