【04】Selenium+Python 手动添加Cookie免登录(实例)

news/2024/11/28 20:12:32/

一、什么是Cookie?

Cookie 是一种由服务器创建并保存在用户浏览器中的小型数据文件。它用于存储用户的相关信息,以便在后续访问同一网站时可以快速检索这些信息。Cookie 主要用于以下几个方面:

1.状态管理: Cookie 可以保存用户的登录状态,这样用户在再次访问网站时无需重新登录。

2.个性化设置: Cookie 可以存储用户的偏好设置,例如语言选择、主题风格等,以提供更加个性化的体验。

3.跟踪和分析: 许多网站使用 Cookie 来跟踪用户的行为,以获取访问数据和用户偏好,从而进行分析和优化网站。

4.购物车功能: 在电子商务网站上,Cookie 可以用来保存用户的购物车信息,帮助用户方便地继续购物。

Cookie 通常由三个部分组成:名称、值和过期时间。其有效期可以是会话级的(浏览器关闭后过期)或者设置特定的过期时间。

需要注意的是,虽然 Cookie 对网站的功能和用户体验有很大帮助,但在隐私和安全方面也需要谨慎使用,用户可以选择管理或删除自己的 Cookie。

二、如何查看Cookie?

F12打开浏览器开发工具即可查看
在这里插入图片描述

三、Selenium 操作Cookie的方法

在 Selenium 中,可以通过以下五种方法来操作 Cookie。
1.获取所有 Cookie:

python">cookies = driver.get_cookies()
for cookie in cookies:print(cookie)

2.获取特定 Cookie:

python">specific_cookie = driver.get_cookie("cookie_name")
print(specific_cookie)

3.添加 Cookie:

python">driver.add_cookie({'name': 'cookie_name','value': 'cookie_value','path': '/','domain': 'example.com','expiry': None  # 可以设置过期时间
})

4.删除特定 Cookie:

python">driver.delete_cookie("cookie_name")

5.删除所有 Cookie:

python">driver.delete_all_cookies()

四、浏览器手动添加Cookie免登录(实例)

1、查看浏览器cookie,并转为list包含字典的格式,一个cookie为一条字典
在这里插入图片描述

python">cookies = [{'domain': '192.168.0.136', 'httpOnly': False, 'name': 'Admin-Token', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': 'eyJhbGciOiJIUzUxMiJ9.eyJ0ZW5hbnQiOiJtYXN0ZXIiLCJsb2dpbl91c2VyX2tleSI6IjcxNDMxNmExLWMwOWMtNGFjNC1hNWRlLTdmZmFlNGM0ZTJhYyJ9.lZzQNG1NHbnVHj02FQAt0KFeK1nhXBsurkgXVIGi9m8XMOiawBpITsW4IUNrvwLN9NnhVMqkJ8jsXSk1gbycEw'},{'domain': '192.168.0.136', 'httpOnly': False, 'name': 'Tenant-Key', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': 'master'}]

2、实例代码

python">'''
实例 手动添加cookie免登陆'''
import time
from selenium import webdriver
from chromedriver_py import binary_path # this will get you the path variable#打印浏览器驱动路径
print(binary_path)
svc = webdriver.ChromeService(executable_path=binary_path)
driver = webdriver.Chrome(service=svc)try:# 打开登录页driver.get("http://192.168.0.136:8082/login?redirect=%2Findex")# 等待页面加载time.sleep(2)#先删除所有cookies  再手动添加cookiedriver.delete_all_cookies()#查看浏览器cookies把浏览器所有cookies 转为list包含字典的格式 一个cookie为一条字典cookies = [{'domain': '192.168.0.136', 'httpOnly': False, 'name': 'Admin-Token', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': 'eyJhbGciOiJIUzUxMiJ9.eyJ0ZW5hbnQiOiJtYXN0ZXIiLCJsb2dpbl91c2VyX2tleSI6IjcxNDMxNmExLWMwOWMtNGFjNC1hNWRlLTdmZmFlNGM0ZTJhYyJ9.lZzQNG1NHbnVHj02FQAt0KFeK1nhXBsurkgXVIGi9m8XMOiawBpITsW4IUNrvwLN9NnhVMqkJ8jsXSk1gbycEw'},{'domain': '192.168.0.136', 'httpOnly': False, 'name': 'Tenant-Key', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': 'master'}]for cookie in cookies:if 'expiry' in cookie:del cookie['expiry']driver.add_cookie(cookie)#刷新页面 添加cookie成功后刷新登录页,会跳转至首页driver.refresh()time.sleep(10)# 判断是否免密登录成功 跳转到了首页if driver.current_url == "http://192.168.0.136:8082/index":print("登录成功")else:print("登录失败")finally:# 关闭浏览器driver.quit()

3、运行结果
在这里插入图片描述


http://www.ppmy.cn/news/1550714.html

相关文章

MD5算法加密笔记

MD5是常见的摘要算法。 摘要算法: 是指把任意⻓度的输⼊消息数据转化为固定⻓度的输出数据的⼀种密码算法. 摘要算法是 不可逆的, 也就是⽆法解密. 通常⽤来检验数据的完整性的重要技术, 即对数据进⾏哈希计算然后⽐ 较摘要值, 判断是否⼀致. 常⻅的摘要算法有: MD5…

Java线程同步Synchronized

在Java中,可以使用synchronized关键字实现线程同步。synchronized关键字可以用来修饰方法或代码块,保证在同一时间内只有一个线程可以执行被synchronized关键字修饰的代码。 当一个方法被synchronized修饰时,该方法称为同步方法。同一时间内…

代数拓扑学

代数拓扑学是数学中的一个分支领域,旨在研究代数结构与拓扑空间之间的关系。它主要关注拓扑空间的代数特征,以及代数结构的拓扑性质。 代数拓扑学的核心概念包括拓扑空间、群、环、域、模、代数拓扑空间等。通过将代数结构的性质与拓扑空间的性质相结合…

三维地形图计算软件(三)-原基于PYQT5+pyqtgraph旧代码

最先入手设计三维地形图及平基挖填方计算软件时,地形图的显示方案是:三维视图基于pyqtgraph.opengl显示和二维视图基于pyqtgraph的PlotWidget来显示地形地貌,作到一半时就发现,地形点过多时,将会造成系统卡顿(加载时主…

HarmonyOS 3.1/4项目在DevEco Studio 5.0(HarmonyOS NEXT)版本下使用的问题

有读者在使用《鸿蒙HarmonyOS应用开发入门》书中的源码时,遇到了问题。本文总结问题的原因及解决方案。 有读者在使用《鸿蒙HarmonyOS应用开发入门》书中的源码时,遇到了问题。本文总结问题的原因及解决方案。 问题原因 这些问题,本质上是…

一文了解TensorFlow是什么

TensorFlow是一个开源的机器学习框架,由Google开发并维护。它提供了一个灵活且高效的环境,用于构建和训练各种机器学习模型。 TensorFlow的基本概念包括: 张量(Tensor):TensorFlow中的核心数据结构&#x…

HarmonyOS(57) UI性能优化

性能优化是APP开发绕不过的话题,那么在HarmonyOS开发过程中怎么进行性能优化呢?今天就来总结下相关知识点。 UI性能优化 1、避免在组件的生命周期内执行高耗时操作2、合理使用ResourceManager3、优先使用Builder方法代替自定义组件4、Component组件和Bui…

零基础学安全--HTML

目录 学习连接 HTML简介 HTML基本结构 例子 表单标签 表格标签 超链接标签 学习连接 声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提…