欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > selenium之cookies

selenium之cookies

2025/9/16 8:29:56 来源:https://blog.csdn.net/weixin_40137210/article/details/147185072  浏览:    关键词:selenium之cookies

什么是cookies

Cookies 是 Web 服务器存储在用户计算机(通常是浏览器)上的小型文本文件。它们用于记住用户的状态或信息,以便在用户浏览网站的不同页面或稍后再次访问该网站时能够被识别。

Cookies的主要用途包括

  • 会话管理:保持用户的登录状态、购物车内容等。
  • 个性化:存储用户的偏好设置,如语言、主题等。
  • 跟踪: 记录用户的浏览行为,用于网站分析和广告投放。

每一个cookie通常包含以下信息

  • 名称(Name):Cookie 的唯一标识符。
  • 值(Value):存储的实际数据。
  • 域(Domain): 指定 Cookie 对哪个域名有效。
  • 路径(Path):指定 Cookie 对域名下的哪个路径有效。
  • 过期时间(Expiry Date/Time):指定 Cookie 何时失效。如果未设置,则为会话 Cookie,在浏览器关闭时失效。
  • 安全标志(Secure Flag):指示 Cookie 是否只能通过 HTTPS 连接发送。
  • HTTP Only标志(HttpOnly Flag):指示 Cookie 是否只能通过 HTTP(S) 协议访问,而不能通过 JavaScript 访问,有助于防止跨站脚本攻击 (XSS)。
怎么获取、新增、删除cookie
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Serviceclass browser_cookie:def __init__(self, path, url):self.path = pathself.service = Service(path)self.driver = webdriver.Chrome(service=self.service)self.driver.get(url)def close(self):time.sleep(5)self.driver.quit()# 获取指定的cookie,get_cookie()def get_cookie(self,cookies_name):cookie_data = self.driver.get_cookie(cookies_name)print(cookie_data)# 获取全部的cookies,get_cookies()def get_all_cookie(self):all_cookies = self.driver.get_cookies()# 打印所有的cookiesfor cookie in all_cookies:print(cookie)# 添加cookies,add_cookie()def add_cookie(self, new_cookie):self.driver.add_cookie(new_cookie)# 删除指定名称的cookiesdef delete_cookie(self,cookies_name):self.driver.delete_cookie(cookies_name)# 删除全部的cookiesdef delete_all_cookies(self):self.driver.delete_all_cookies()if __name__ == '__main__':serve_path = r'D:\Code_Study\driver\chromedriver-win64\chromedriver.exe'url = "https://www.baidu.com/"browser = browser_cookie(serve_path, url)print("下面是查看全部cookies")browser.get_all_cookie()# 定义要添加的 Cookie# 注意,添加之前;domain的值需要和该Cookie的domain属性相匹配的网址;new_cookie = {'name': 'my_custom_cookie','value': 'my_cookie_value','domain': 'www.baidu.com','path': '/','expiry': int(time.time()) + 3600,  # 设置过期时间为 1 小时后'secure': False,'httpOnly': False}browser.add_cookie(new_cookie)print("下面是新增了一条cookie进去")# 再次获取cookie,可以看到新增的cookie再最上面一条print("下面是查看新增的那一条cookies")browser.get_cookie(new_cookie["name"])# 删除指定cookieprint("新增的那一条被删除了")browser.delete_cookie(new_cookie["name"])print("删除后查看一下")# 可以看到,输出为Nonebrowser.get_cookie(new_cookie["name"])# 删除全部cookieprint("删除全部cookie")browser.delete_all_cookies()# 再次获取cookie进行查询,发现也是Noneprint('查看cookie')all = browser.get_all_cookie()print(all)browser.close()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词