Python/Selenium - 清除我的 chrome webdriver 中的缓存和 cookie?

新手上路,请多包涵

我正在尝试清除我的 chrome 浏览器(来自 selenium 的 webdriver)中的缓存和 cookie,但我找不到专门针对 chrome 驱动程序的任何解决方案。如何清除 Python 中的缓存和 cookie?谢谢!

原文由 Emmanuel Shaakov 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.6k
2 个回答

取自 这篇文章

对于 cookie,您可以使用 delete_all_cookies 函数:

 driver.delete_all_cookies()

对于缓存,没有直接的方法可以通过 Selenium 来实现。如果您试图确保在启动 Chrome 驱动程序之初或完成后清除所有内容,则无需执行任何操作。每次初始化 webdriver 时,它都是一个全新的实例,没有缓存、cookie 或历史记录。每次终止驱动程序时,所有这些都会被清除。

原文由 R.F. Nelson 发布,翻译遵循 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏