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

如何在Python中保存并使用Cookies实现网站持久登录?

解决Cookie保存/导入后无法自动登录的问题

问题根源分析

你的代码存在两个核心错误:

  1. 保存Cookie时未获取浏览器当前Cookie:直接调用pickle.dump(cookies),但cookies变量未被赋值为driver.get_cookies()的结果,且pickle.dump返回None,导致保存的内容完全无效。
  2. 导入Cookie时逻辑错误:循环中每次执行driver.delete_all_cookies(),会导致前一个添加的Cookie被立即删除,最终仅保留最后一个Cookie;且导入后未刷新页面,浏览器不会加载新的Cookie状态。

Selenium 正确实现代码

1. 登录后保存Cookie

import pickle
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("website")  # 替换为目标网站实际URL

# 手动完成登录操作(有自动登录逻辑可替换此步骤)
time.sleep(10)

# 获取当前浏览器的所有Cookie并保存
cookies = driver.get_cookies()
pickle.dump(cookies, open("cookies.pkl", "wb"))

driver.quit()

2. 导入Cookie实现自动登录

import pickle
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("website")  # 必须先访问目标网站,否则Cookie无法绑定到对应域名

# 清除原有Cookie,批量导入保存的Cookie
driver.delete_all_cookies()
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    # 部分网站需要移除expiry字段(若导入时报错)
    if 'expiry' in cookie:
        del cookie['expiry']
    driver.add_cookie(cookie)

# 刷新页面,让浏览器加载新的Cookie状态
driver.refresh()
time.sleep(5)

# 后续操作即可处于登录状态

Playwright 实现方案(更稳定)

Playwright自带上下文保存功能,无需手动处理Cookie,可靠性更高:

1. 保存登录上下文

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("website")
    
    # 手动登录或执行自动登录逻辑
    page.wait_for_timeout(10000)
    
    # 保存上下文状态(包含Cookie、本地存储等所有登录相关数据)
    context.storage_state(path="auth_state.json")
    
    browser.close()

2. 加载上下文实现自动登录

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    # 加载保存的登录上下文
    context = browser.new_context(storage_state="auth_state.json")
    page = context.new_page()
    page.goto("website")
    
    # 页面已处于登录状态,可直接执行后续操作
    page.wait_for_timeout(5000)
    
    browser.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:01:04