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

相关推荐
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 46--撰写 README项目说明文档文件
python·学习·测试工具·pytest
我的xiaodoujiao3 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 47--设置Selenium以无头模式运行代码
python·学习·selenium·测试工具·pytest
不会代码的小测试19 小时前
UI自动化-POM封装
开发语言·python·selenium·自动化
网络安全-杰克1 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展
Wpa.wk1 天前
接口自动化 - 接口鉴权处理常用方法
java·运维·测试工具·自动化·接口自动化
0思必得01 天前
[Web自动化] Selenium获取元素的子元素
前端·爬虫·selenium·自动化·web自动化
Wpa.wk1 天前
接口自动化 - 多环境统一文件配置 +多响应统一转换处理
运维·服务器·测试工具·自动化·接口自动化·统一配置
@zulnger1 天前
selenium 自动化测试工具实战项目(窗口切换)
selenium·测试工具·自动化
0思必得02 天前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
辣香牛肉面2 天前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark