name=value;
例子:
BAIDUID=2545AFED555788AD50D37E8A9FE95848:FG=1;
BD_HOME=1;
my_cookie=aok;
- name:cookie 的名字(标识符,相当于 key)
- value:cookie 的值(真正的数据,比如 token、session id)
2. Selenium 中的 Cookie 表示
在 Selenium 中,browser.get_cookies() 返回的是一个 列表,其中每个元素是一个 字典,代表一条 cookie。
示例:
[
{
'domain': '.baidu.com',
'expiry': 1787622537,
'httpOnly': False,
'name': 'BAIDUID',
'path': '/',
'sameSite': 'Lax',
'secure': False,
'value': '2545AFED555788AD50D37E8A9FE95848:FG=1'
},
{
'domain': 'www.baidu.com',
'httpOnly': False,
'name': 'my_cookie',
'path': '/',
'sameSite': 'Lax',
'secure': True,
'value': 'aok'
}
]
3. ⚠️ 最容易混淆的地方
get_cookies()→ 返回 列表- 列表中每个元素 → 字典 → 一条 cookie 的完整信息
在 cookie 字典里:
字典["name"]→ cookie 的名字(key)字典["value"]→ cookie 的值(value)- 其他字段(domain、path、expiry 等) → 附加属性,不是 cookie 的值
👉 所以,一条 cookie 的真正键值对是: name : value
举例解析
从 get_cookies() 里取出:
{'name': 'my_cookie', 'value': 'aok', 'domain': 'www.baidu.com'}
等价于:
my_cookie=aok;
再比如:
{'name': 'BAIDUID', 'value': '2545AFED555788AD50D37E8A9FE95848:FG=1', ...}
等价于:
BAIDUID=2545AFED555788AD50D37E8A9FE95848:FG=1;
转换成更直观的字典
cookie_dict = {item['name']: item['value'] for item in browser.get_cookies()}
print(cookie_dict)
输出:
{
'BAIDUID': '2545AFED555788AD50D37E8A9FE95848:FG=1',
'my_cookie': 'aok'
}
这样就不会再混淆:name 是名字,value 才是值。
4. Selenium 操作 Cookie 的方法
获取 Cookie
cookies = browser.get_cookies()
添加 Cookie
import time
browser.add_cookie({
'name': 'my_cookie',
'value': 'aok',
'expiry': int(time.time()) + 3600
})
注意:name 和 value 必须有;只能给当前域名加 cookie;expiry 必须是 int 时间戳。
删除指定 Cookie
browser.delete_cookie("my_cookie")
这里 "my_cookie" 指的是 cookie 的名字。
删除所有 Cookie
browser.delete_all_cookies()
5. 应用场景
- 模拟登录:保存一次登录后的 cookie,下次直接注入,免输账号密码。
- 身份伪造 / 绕过限制:注入特定 cookie,跳过广告或进入受限页面。
- 测试调试:注入不同 cookie,模拟不同用户身份。
6. Cookie 字段对照表
| Selenium 字段 | 含义 | 是否核心 |
|---|---|---|
name | cookie 的名字 | ✅ 核心(key) |
value | cookie 的值 | ✅ 核心(value) |
domain | cookie 作用的域名 | 附加 |
path | cookie 生效路径 | 附加 |
expiry | 过期时间(时间戳) | 附加 |
httpOnly | 是否 HttpOnly(JS 可否访问) | 附加 |
secure | 是否仅在 HTTPS 下使用 | 附加 |
sameSite | SameSite 策略 | 附加 |
✅ 总结
- 一条 cookie = get_cookies() 返回列表中的一个字典
- cookie 的名字 = 字典["name"]
- cookie 的值 = 字典["value"]
- 其他字段只是附加属性,不要和 cookie 的值混淆