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

相关推荐
Wpa.wk6 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
橘颂TA8 小时前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
Wpa.wk9 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
流㶡10 小时前
Python爬虫:POST与Selenium
爬虫·python·selenium
写点什么呢11 小时前
Ltspice_安装与使用
学习·测试工具
介一安全14 小时前
OSS-Fuzz 模糊测试使用指南
测试工具·安全性测试·fuzz
0思必得01 天前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
llilian_161 天前
信号发生器 多通道多功能脉冲信号发生器应用解决方案 多功能脉冲发生器
功能测试·单片机·嵌入式硬件·测试工具
程序员小远1 天前
使用Postman进行一次完整的接口测试
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest