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

相关推荐
belldeep15 小时前
python:Selenium 4.47 编码新的写法
python·selenium
降临-max15 小时前
Postman断言、数据驱动+Jenkins集成
软件测试·测试工具·postman
IT小白杨1 天前
工程视角下的浏览器环境API:资源模型、权限审计与MCP实践
大数据·经验分享·selenium·chrome devtools·安全架构·指纹浏览器
随风而飘1861 天前
KEITHLEY吉时利 2400 数字源表
人工智能·功能测试·科技·测试工具
程序员三藏1 天前
自动化测试用例编写详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
测试老哥1 天前
Pytest自动化测试框架tep环境变量、fixtures、用例三者之间的关系
自动化测试·软件测试·python·测试工具·测试用例·pytest·职场发展
IT小白杨2 天前
当MCP遇上指纹浏览器:AI自然语言驱动隔离环境的实践思路
人工智能·经验分享·selenium·安全·业界资讯·指纹浏览器
qq_513728042 天前
Selenium 显式等待
selenium·测试工具
St_rive2 天前
selenium cookie的处理
数据库·selenium·测试工具