You need to enable JavaScript to run this app. 如何将requests的会话及Cookie导入Selenium浏览器 及如何反向操作?
优惠活动
大模型
产品
解决方案
定价
更多

如何将requests的会话及Cookie导入Selenium浏览器 及如何反向操作?

requests与Selenium Cookie双向同步方案

1. 将requests.Session的Cookie导入Selenium

实现逻辑

Selenium添加Cookie前必须先访问过一次目标域名的页面,拿到域名上下文才能成功写入,之后直接遍历requests存储的Cookie,转换为Selenium支持的字典格式逐个添加即可。

代码补全(对应你提供的示例代码空缺位置)

driver = webdriver.Chrome()
session = requests.session()
session.get('https://www.google.com/')

# 以下为空缺位置补全代码
# 先让Selenium访问一次目标域名,初始化域名上下文
driver.get('https://www.google.com/')
# 遍历requests session的Cookie,逐个添加到Selenium
for req_cookie in session.cookies:
    driver.add_cookie({
        "name": req_cookie.name,
        "value": req_cookie.value,
        "domain": req_cookie.domain,
        "path": req_cookie.path,
        "secure": req_cookie.secure,
        "expiry": req_cookie.expires
    })

# 再次访问站点,就会携带同步过来的Cookie
driver.get('https://www.google.com/')

2. 将Selenium的Cookie同步到requests.Session

实现逻辑

直接调用Selenium的get_cookies()方法拿到当前域名下所有Cookie,遍历写入requests的session对象即可。

代码示例

# 先让Selenium访问目标站点,拿到有效Cookie(比如手动完成登录操作后)
driver.get('https://www.google.com/')
# 遍历Selenium的Cookie,添加到requests session
for sel_cookie in driver.get_cookies():
    session.cookies.set(
        name=sel_cookie['name'],
        value=sel_cookie['value'],
        domain=sel_cookie['domain'],
        path=sel_cookie['path']
    )

# 后续requests发送请求将自动携带同步的Cookie
resp = session.get('https://www.google.com/')

注意事项

  • 同步前必须保证两个工具操作的是同一主域名下的资源,跨域名Cookie无法生效
  • 建议将两个工具的User-Agent设置为一致,避免站点检测到客户端属性不一致导致会话失效
  • 特殊场景下需要完整保留Cookie的httpOnly、secure属性,避免请求被站点拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 15:45:02