You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串格式Cookie传入Selenium的driver.add_cookie()方法

问题解决方案

错误根因

  • 你存储的Cookie字符串是Python字典列表的字面量格式,键值用单引号包裹,而json.loads()只识别标准JSON的双引号格式,无法解析单引号结构,因此抛出格式错误。
  • 手动通过split("},")切割Cookie列表、再拼接闭合符号的方式容错率极低,一旦Cookie的value字段中包含},类特殊字符,就会直接破坏Cookie结构导致解析失败。

正确实现代码

import ast
from selenium import webdriver

def parse_Cookie_string(driver, box_of_cookies):
    # 添加Cookie前必须先访问目标域名的任意页面,否则Selenium会报域不匹配错误
    driver.get("https://kith.com/robots.txt")
    # 直接将Python风格的字面量字符串转为真实Cookie列表,无需手动处理结构
    cookies_list = ast.literal_eval(box_of_cookies)
    for cookie in cookies_list:
        # 兼容旧版Selenium对sameSite字段的校验
        if "sameSite" not in cookie:
            cookie["sameSite"] = "Lax"
        driver.add_cookie(cookie)
    # 所有Cookie添加完成后刷新页面即可生效
    driver.refresh()

注意事项

  • 不要手动拼接处理JSON/字典结构,直接用内置方法解析整体字符串的正确率和效率远高于手动拆分
  • 如果你的Selenium版本低于3.141,遇到sameSite: None的Cookie时可以单独移除该字段后再添加,避免兼容报错
  • 后续存储Cookie时建议直接序列化转为标准JSON字符串存储,后续读取解析时直接用json.loads()即可,兼容性更强

内容的提问来源于stack exchange,提问作者BotterBoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:45:02