用selenium webdriver获取网站cookie后,实现免登录上网站

以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有效期是否都不相同,有研究过的朋友可以留言交流。

相关推荐
Meta Luo1 天前
页面改版后自动化用例大量失败,应该怎么维护?
运维·功能测试·测试工具·自动化
释槐鸟~2 天前
还不知道RIDE工具怎么装吗
测试工具·自动化
有技巧搬砖3 天前
为什么锂电池组的电池老化测试很重要?
测试工具·锂电池·电池老化
蒲公英内测分发3 天前
智能手表卖出去后,包装、说明书和官网里的 App 下载入口怎么统一?
前端·人工智能·测试工具·智能家居·智能硬件·智能手表
蒲公英内测分发3 天前
智能手环出海测试,海外合作方分散在不同国家,Android 测试包怎么持续分发和更新?
android·前端·人工智能·测试工具·智能手表
无语的小歪歪3 天前
ATF 智测 1.0
python·测试工具·集成测试
SHENGWEI胜为3 天前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
xie881018024 天前
长表格跨页重复表头:排版上的做法
测试工具
老孟说禅4 天前
测试工具示波器的使用
测试工具
步行cgn5 天前
为什么使用接口测试工具?
测试工具