我正在尝试清除我的 chrome 浏览器(来自 selenium 的 webdriver)中的缓存和 cookie,但我找不到专门针对 chrome 驱动程序的任何解决方案。如何清除 Python 中的缓存和 cookie?谢谢!
原文由 Emmanuel Shaakov 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试清除我的 chrome 浏览器(来自 selenium 的 webdriver)中的缓存和 cookie,但我找不到专门针对 chrome 驱动程序的任何解决方案。如何清除 Python 中的缓存和 cookie?谢谢!
原文由 Emmanuel Shaakov 发布,翻译遵循 CC BY-SA 4.0 许可协议
2020 年 11 月使用 Selenium 清除 Chromedriver 的缓存:
使用此功能可以打开一个新选项卡,选择删除所有内容,确认并返回到先前活动的选项卡。
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome("path/to/chromedriver.exe")
def delete_cache():
driver.execute_script("window.open('');")
time.sleep(2)
driver.switch_to.window(driver.window_handles[-1])
time.sleep(2)
driver.get('chrome://settings/clearBrowserData') # for old chromedriver versions use cleardriverData
time.sleep(2)
actions = ActionChains(driver)
actions.send_keys(Keys.TAB * 3 + Keys.DOWN * 3) # send right combination
actions.perform()
time.sleep(2)
actions = ActionChains(driver)
actions.send_keys(Keys.TAB * 4 + Keys.ENTER) # confirm
actions.perform()
time.sleep(5) # wait some time to finish
driver.close() # close this tab
driver.switch_to.window(driver.window_handles[0]) # switch back
delete_cache()
更新 01/2021:显然 chromedriver 中的设置部分可能会发生变化。旧版本是 chrome://settings/cleardriverData
。如有任何疑问,请转到 chrome://settings/
,单击浏览器数据/缓存清除部分并复制新术语。
原文由 do-me 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答3.1k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
3 回答1.8k 阅读
1 回答1.4k 阅读✓ 已解决
取自 这篇文章:
对于 cookie,您可以使用
delete_all_cookies
函数:对于缓存,没有直接的方法可以通过 Selenium 来实现。如果您试图确保在启动 Chrome 驱动程序之初或完成后清除所有内容,则无需执行任何操作。每次初始化 webdriver 时,它都是一个全新的实例,没有缓存、cookie 或历史记录。每次终止驱动程序时,所有这些都会被清除。