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

如何将请求头中的Cookie批量传入Selenium Python实现登录

批量导入请求头Cookie到Selenium实现登录

解决思路

请求头里的Cookie是key=value; key=value格式的字符串,我们直接把它拆分成Selenium要求的字典列表,一次性批量添加即可,无需手动逐个配置。

完整代码示例

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 粘贴从请求头获取的Cookie内容
cookie_str = "替换成你的请求头Cookie字符串"

# 配置Chrome选项(按需启用,比如无头模式)
options = Options()
# options.add_argument("--headless=new")  # 不需要可视化窗口时打开此配置

# 先打开目标网站(必须先访问域名,才能给该域名添加Cookie)
driver = webdriver.Chrome(options=options)
driver.get("https://www.example.com/")

# 将Cookie字符串转换为Selenium可识别的字典结构
cookies = []
for item in cookie_str.split("; "):
    # 用split("=",1)避免Cookie值中包含等号导致拆分错误
    key, value = item.split("=", 1)
    cookies.append({
        "name": key,
        "value": value,
        "domain": ".example.com",  # 替换为目标网站的根域名,比如".streamable.com"
        "path": "/",
        "secure": True,  # 网站为HTTPS时设为True,HTTP则设为False
        "httpOnly": False  # 根据实际Cookie属性调整,多数场景设为False即可
    })

# 批量添加所有Cookie
for cookie in cookies:
    try:
        driver.add_cookie(cookie)
    except Exception as e:
        print(f"添加Cookie {cookie['name']} 失败: {e}")

# 刷新页面验证登录状态
driver.refresh()

# 操作完成后关闭浏览器
# driver.quit()

关键注意事项

  • 先访问目标网站:Selenium仅能给当前已访问的域名添加Cookie,必须先打开网站再执行添加操作。
  • 域名参数要准确:domain需设置为目标网站的根域名,前缀加.可匹配所有子域名(如.streamable.com)。
  • 处理特殊Cookie:若Cookie值包含等号,必须用split("=",1)拆分;若Cookie带有HttpOnly属性,需对应调整httpOnly参数。
  • 适配HTTPS网站:目标网站为HTTPS时,secure必须设为True,否则Cookie可能无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 21:12:57