【发布时间】:2021-03-21 22:07:08
【问题描述】:
正如标题所说,我在使用 Google Chrome 的自动填充功能时遇到了问题。当我在没有 --headless 参数的情况下运行我的 Python 脚本时,一切都很顺利:Chrome 会自动填写用户名和密码字段,然后我就可以登录了。但是,当我尝试在无头模式下运行 Chrome 时,它什么也没做。有没有办法解决/规避这个问题?我想只使用send_keys(),但我不想将我的电子邮件和密码放在我电脑上的脚本中。谢谢!
[编辑]
这是我的登录代码:
login = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.ID, 'login-button'))
)
driver.find_element_by_id('login-button').click()
我只是等待元素变为可点击,然后点击它。正如我之前所说,这在我不处于无头模式时完全有效,但在我激活它时会中断,因为 Chrome 不会自动填充用户名和密码。
[编辑 2]
我已经通过了用户数据目录。一切正常。问题是当我添加 --headless 参数时,它会自动停止粘贴凭据。
【问题讨论】:
-
您的代码试验和错误在哪里?元素的 HTML 代码?
-
我没有尝试做任何事情,因为除了单击登录按钮之外我不知道该做什么,我只需调用 click() 方法即可。我正在 mi.com 上测试我的脚本。我知道 Chrome 不会在无头模式下自动填充,因为我在单击登录按钮后转储了 HTML 并看到了错误。我将使用我用于登录的代码编辑我的帖子。
标签: python selenium google-chrome headless