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

如何使用Python+Selenium清除Chrome WebDriver的缓存与Cookie?

嘿,我来帮你搞定这个问题!在Selenium里用ChromeDriver清除缓存和Cookie其实有几种实用的方法,我给你挨个说清楚:

一、快速清除Cookie的方法

这是最直接的操作,如果你只是想在当前浏览器会话中清除所有Cookie,直接调用Selenium提供的API就行:

# 清除当前会话的所有Cookie
driver.delete_all_cookies()

调用之后,当前页面的所有Cookie都会被清空,后续请求会不带之前的Cookie信息。

二、清除浏览器缓存的两种方案

缓存的处理比Cookie麻烦一点,因为Selenium没有直接提供清除缓存的方法,但我们有两种靠谱的解决思路:

方案1:启动Chrome时自动使用干净环境

如果你希望每次启动浏览器都自带干净的缓存和Cookie,最省心的方式是启用隐身模式,或者配置启动参数让浏览器退出时自动清除数据:

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

# 配置Chrome启动选项
chrome_options = Options()
# 启用隐身模式,自动隔离缓存和Cookie,每次启动都是全新环境
chrome_options.add_argument("--incognito")
# 可选:设置浏览器退出时自动删除浏览历史
chrome_options.add_argument("--delete-browser-history-on-exit")
# 可选:禁用缓存(进一步确保无缓存干扰)
chrome_options.add_argument("--disable-cache")

# 启动ChromeDriver
driver = webdriver.Chrome(options=chrome_options)

这个方案的好处是一劳永逸,适合需要完全隔离测试环境的场景,比如每次测试都从“零状态”开始。

方案2:运行过程中清除缓存(无需重启浏览器)

如果不想重启浏览器,只想在当前会话中途清除缓存,可以借助Chrome的**DevTools协议(CDP)**来实现,Selenium支持直接调用CDP命令:

# 调用CDP命令清除浏览器缓存
driver.execute_cdp_cmd('Network.clearBrowserCache', {})
# 搭配清除Cookie的话,一起执行更彻底
driver.delete_all_cookies()

这个方法可以在不重启浏览器的情况下完成清理,适合需要在测试流程中途重置状态的场景。

小提示
  • 如果你需要完全重置浏览器的所有状态(包括本地存储、IndexedDB等),隐身模式是最稳妥的选择;
  • 运行中清理的话,CDP方法只能清除缓存,若要清理其他存储数据,还可以调用Storage.clearDataForOrigin这个CDP命令,指定清除的范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:03:05