时间:2025-04-13 00:47
人气:
作者:admin
Cookies 是 Web 服务器存储在用户计算机(通常是浏览器)上的小型文本文件。它们用于记住用户的状态或信息,以便在用户浏览网站的不同页面或稍后再次访问该网站时能够被识别。
每一个cookie通常包含以下信息
HttpOnly Flag):指示 Cookie 是否只能通过 HTTP(S) 协议访问,而不能通过 JavaScript 访问,有助于防止跨站脚本攻击 (XSS)。import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
class browser_cookie:
def __init__(self, path, url):
self.path = path
self.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()
# 打印所有的cookies
for cookie in all_cookies:
print(cookie)
# 添加cookies,add_cookie()
def add_cookie(self, new_cookie):
self.driver.add_cookie(new_cookie)
# 删除指定名称的cookies
def delete_cookie(self,cookies_name):
self.driver.delete_cookie(cookies_name)
# 删除全部的cookies
def 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"])
# 删除指定cookie
print("新增的那一条被删除了")
browser.delete_cookie(new_cookie["name"])
print("删除后查看一下")
# 可以看到,输出为None
browser.get_cookie(new_cookie["name"])
# 删除全部cookie
print("删除全部cookie")
browser.delete_all_cookies()
# 再次获取cookie进行查询,发现也是None
print('查看cookie')
all = browser.get_all_cookie()
print(all)
browser.close()