【Selenium】element click interceptedでクリックできない時(Python)

- Python -
2021.06.08
Python[パイソン]

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

Traceback (most recent call last):
File "test.py", line 277, in <module>
tester = Tester()
・・・省略・・・
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <a class="btn small-btn" href="/test/selenium/">...</a> is not clickable at point (1148, 16). Other element would receive the click: <div class="btn-group">...</div>
(Session info: chrome=91.0.4472.77)

クリックする方法のメモだけ簡潔に残します。

ElementClickInterceptedException: Message: element click intercepted: でクリックできない時

以下、1行目の.find_element_by_css_selector()a.small-btnの部分は環境に合わせて書き換えてください。

Pythonelement = driver.find_element_by_css_selector('a.small-btn')
driver.execute_script('arguments[0].click();', element)

要素を取得したら、JavaScriptによってクリックをする。これでクリックできるようになるはずです。

↑TOP