【发布时间】:2021-12-04 17:11:33
【问题描述】:
我想从家谱网站上抓取一些数据,我需要登录但我无法点击 Selenium 的提交按钮,可能是因为我需要接受 cookie 但我也无法点击它.
代码如下:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
PATH = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(PATH)
driver.implicitly_wait(10)
driver.get("https://en.geneanet.org/connexion/")
driver.find_element_by_xpath('//*[@id="tarteaucitronPersonalize2"]').click()
driver.find_element_by_id("_username").send_keys('user')
driver.find_element_by_id ("_password").send_keys("pwd")
driver.find_element_by_id("_submit").click()
按钮如下所示:
这是与“提交”按钮对应的 HTML: 提交
cookie 弹出窗口和 HTML 如下所示:
我收到以下错误消息:
(vscrap) admin@Admins-MacBook-Pro V2 % /Users/admin/Documents/Coding/Python/Scrapping/vscrap/bin/python /Users/admin/Documents/Coding/Python/Scrapping/UpWork/V2/Selenium_login-immo.py
Traceback (most recent call last):
File "/Users/admin/Documents/Coding/Python/Scrapping/UpWork/V2/Selenium_login-immo.py", line 15, in <module>
driver.find_element_by_id("_submit").click()
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/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 <button type="submit" id="_submit" name="_submit" class="button-register no-margin-bottom large">...</button> is not clickable at point (429, 324). Other element would receive the click: <div id="tarteaucitronRoot" class="tarteaucitronBeforeVisible">...</div>
(Session info: chrome=95.0.4638.69)
(vscrap) admin@Admins-MacBook-Pro V2 % /Users/admin/Documents/Coding/Python/Scrapping/vscrap/bin/python /Users/admin/Documents/Coding/Python/Scrapping/UpWork/V2/Selenium_login-immo.py
Traceback (most recent call last):
File "/Users/admin/Documents/Coding/Python/Scrapping/UpWork/V2/Selenium_login-immo.py", line 15, in <module>
driver.find_element_by_id("_submit").click()
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Users/admin/Documents/Coding/Python/Scrapping/vscrap/lib/python3.7/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 <button type="submit" id="_submit" name="_submit" class="button-register no-margin-bottom large">...</button> is not clickable at point (429, 324). Other element would receive the click: <div id="tarteaucitronRoot" class="tarteaucitronBeforeVisible">...</div>
(Session info: chrome=95.0.4638.69)
为什么我不能点击这个提交按钮?
【问题讨论】:
标签: selenium selenium-webdriver xpath css-selectors webdriverwait