python - 使用 Chrome 驱动程序保存 google 登录
问题描述
嘿,我做了一个在谷歌上登录的简短脚本。每次都必须登录,因为信息没有保存。有没有办法保存登录信息以避免每次都登录但只有在身份验证过期时才登录?
我会做这样的事情:
driver = webdriver.Chrome(chrome_options=opt, executable_path=r'')
driver.get('https://www.gmail.com')
form = driver.find_element_by_id("identifierId")
if form==None:
#do something else
else:
login()
但不知道如何保存令牌。
谢谢!
解决方案
您的登录信息(如 cookie)存储在 chrome 配置文件中。
这样可以避免重新登录提示。使用您用于登录 gmail 的默认配置文件。
user-data-dir 将 profile 视为 default ,您不必指定 . 如果它是其他东西通过 profile-directory 参数指定它
了解配置文件路径的步骤:
打开:地址栏中的 chrome://version
现在使用这个:
chrom_options.add_argument("user-data-dir=C:\\Users\\AppData\\Local\\Google\\Chrome\\User Data")
笔记; 你应该只给直到用户数据不需要指定用户数据\默认
更新:
将用户数据文件夹完全复制到例如 c:\tmp\newdir
打开复制的用户数据(newdir)并搜索名为 Default 的文件夹。这是配置文件文件夹。
现在使用这个:
chrom_options.add_argument("user-data-dir=c:\\tmp\\newdir")
推荐阅读
- r - 将不同长度的字符串列表组合到一个数据框中
- prolog - 在 Prolog 中折叠重复项对
- php - 会话存储维护状态有什么不好?
- docker - docker-compose 使用 json-file 驱动程序进行日志记录,容器的所有日志记录文件在哪里?
- editor - 如何在 nanorc 中指定 homebrew 安装的 nano 版本?
- python - 设置 matplotlib 3D 绘图的刻度颜色
- swift - 如果文本太长,如何切断 UILabel 的开头部分?
- postgresql - 根据最近的日期连接表
- ansible - 在动态清单脚本中访问 group_vars/all
- python - 将 kmeans 与 sklearn 一起使用