Python3 selenium每次启动打开相同的Chrome浏览器实例,实现免Cookie登录网站

2020-05-27 23:00:57   Cyberbolt

普通方法使用selenium,每次会新建一个全新的浏览器实例,而无法保存曾经登录过的Cookie等信息。现今业务需要selenium每次打开同一个浏览器。经查阅资料,记下该笔记,以便日后查询。

本文在selenium启动Chrome时,同时加载本地的用户配置文件,这样能保证每次启动的Chrome拥有相同数据信息。这里以Linux为例,同样试用于Windows和Mac OS。

 

运行环境: Ubuntu 20.04 LTS, Python 3.8.2, Chrome 83.0.4103.61

编写selenium的Chrome配置代码

首先需要查询Chrome配置文件在本机的存放路径,在Chrome地址栏输入 

chrome://version/

如下图,找到个人资料路径

图中所示,我的个人资料路径为 /home/cyberbolt/.config/google-chrome/Default (Windows和Mac路径不同,也在这里查询即可)

编写以下Python代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

option = webdriver.ChromeOptions()
option.add_argument('--user-data-dir=/home/cyberbolt/.config/google-chrome/Default') #加载前面获取的 个人资料路径
driver = webdriver.Chrome(chrome_options=option, executable_path="/opt/google/chrome/chromedriver")  #启动Chrome驱动,这里为Linux系统,Windows 和 Mac OS 根据实际路径填写

之后可以自行测试了,每次将打开相同的浏览器,省去不少麻烦。

如果您尚不明白selenium基本部署方法,请参考 Python3 selenium在Windows10运行 或 Python3 selenium在CentOS服务端运行 。感谢阅读,如果您在操作中遇到任何问题,欢迎在评论区留言哦!