【发布时间】:2018-10-23 22:38:31
【问题描述】:
我正在编写一个脚本,以使用 Selenium 及其 Python 中的 Chrome 驱动程序在网站上下载一组文件,但我发现看到浏览器打开并在程序打开新选项卡或单击时获得焦点令人恶心在下载按钮上。
所以我宁愿使用无头模式。但是,该元素总是给我以下错误:
WebDriverException:消息:未知错误:元素 ... 在点 (435, 575) 处不可点击。其他元素会收到点击:
...
(会话信息:无头 chrome=66.0.3359.139) (驱动程序信息:chromedriver=2.37.544337(8c0344a12e552148c185f7d5117db1f28d6c9e85),平台=Mac OS X 10.13.4 x86_64)
这个错误曾经在我的非无头模式下发生,但是由于我将浏览器的大小更改为driver.maximize_window(),所以错误已经消失了。这可以清楚地表明该按钮必须在屏幕上可见,才能在 Chrome 上被推送。
但是在无头模式下,按钮可能是隐藏的,这样元素总是无法点击,从而导致错误。那么有什么方法可以让按钮在无头模式下也可以点击?
相关代码如下,最后一行导致错误:
def login(driver, url, username, password):
driver.get(url)
uname = driver.find_element_by_name("login")
uname.send_keys(username)
passw = driver.find_element_by_name("password")
passw.send_keys(password)
submit_button = driver.find_element_by_class_name("button")
action = webdriver.ActionChains(driver)
action.move_to_element(submit_button)
submit_button.click()
【问题讨论】:
-
你能在这里分享完整的堆栈跟踪信息吗?
-
尝试使用 javascript 执行器
标签: python google-chrome selenium