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

相关推荐
xy34538 小时前
wireshark 如何捕获信息
网络·测试工具·渗透测试·wireshark
会周易的程序员14 小时前
从零构建多核CPU负载自适应控制系统
linux·c++·笔记·物联网·测试工具
博观而约取厚积而薄发14 小时前
Pytest 从入门到精通,一篇就够(超详细实战教程)
python·测试工具·单元测试·自动化·pytest
hbugs0012 天前
BPF 表达式检查器:一款免费开源的 Wireshark 捕获过滤器语法检查与可视化构建工具
网络·测试工具·开源·eve-ng·bpf
测试秃头怪2 天前
如何评估自动化测试脚本的编写时间和维护工作量?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
程序员杰哥3 天前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
尼古拉斯·纯情暖男·天真·阿玮3 天前
正交表的概念与生成
测试工具
城中南小3 天前
人机Agent团队协同:从Managed Agents原理到Multica实践
selenium·测试工具
测试老哥3 天前
Pytest自动化测试详解
自动化测试·软件测试·python·测试工具·测试用例·pytest·接口测试