以csdn为例,代码分为两部分。
一、csdn_get_cookies.py为半手动登录网站后获取cookies
二、csdn_use_cookies.py为使用获取到的cookies免登录上网站
#获取登录cookies
from selenium import webdriver
import json
csdn_driver = webdriver.Chrome()
url = "https://www.csdn.net/"
csdn_driver.get(url)
###手动完成登录后,随便在控制台输入内容,就保存下来了
input("请手动扫描或者输入账密进行登录,登录成功后随便输入内容:")
dictCookies = csdn_driver.get_cookies()
jsonCookies = json.dumps(dictCookies)
with open('csdn_cookies.txt', 'w') as f:
f.write(jsonCookies)
print('cookies保存成功!')
#使用cookies登录
from selenium import webdriver
import time
import json
csdn_driver = webdriver.Chrome()
csdn_driver.maximize_window() #浏览器最大化
url = "https://i.csdn.net/#/user-center/profile"
csdn_driver.get(url)
with open('csdn_cookies.txt', 'r', encoding='utf8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
cookie_dict = {
### 这个domain看cookies第一个字段就知道了,需要找到并填入
'domain': ".csdn.net",
'name': cookie.get('name'),
'value': cookie.get('value'),
"expires": '',
'path': '/',
'httpOnly': False,
'HostOnly': False,
'Secure': False
}
csdn_driver.add_cookie(cookie_dict)
csdn_driver.refresh() # 刷新网页cookies才成功
csdn_driver.get(url)
time.sleep(50)
成功免登录进入网站:

现在问题是,不知道这个cookies可以持续多久,即多久失效,还有就是每个网站的cookies有效期是否都不相同,有研究过的朋友可以留言交流。