python + selenium + chrome 如何清理浏览器缓存

python + selenium + chrome 如何清理浏览器缓存

1. 背景

  • 在使用selenium + chrome浏览器渲染模式爬取数据时,如果并发任务过多,或者爬虫的运行时间很长,那么很容易出现浏览器崩溃的现象,如下:
    python + selenium + chrome 如何清理浏览器缓存_第1张图片
  • 这一般是资源消耗过大造成的(据说chrome浏览器有内存泄漏的情况。或者是浏览器缓存过大,越堆越多)。selenium模拟浏览器会产生大量的临时文件,那如何解决这个问题呢?
    • 之前提出一个解决方法,就是使用headless模式,减少渲染文件的产生,文章可以参考:http://blog.csdn.net/zwq912318834/article/details/79000040
    • 今天要提出另一种思路:那就是直接清除浏览器缓存。

2. 环境

  • python 3.6.1
  • 系统:win7
  • IDE:pycharm
  • 安装过chrome浏览器
  • 配置好chromedriver
  • selenium 3.7.0

3. 清除浏览器缓存

3.1. 只清cookie

# 清除浏览器cookies
cookies = browser.get_cookies()
print(f"main: cookies = {cookies}")
browser.delete_all_cookies()

3.2. 清除浏览器所有缓存垃圾

  • 在selenium爬虫启动时,定时开一个窗口,在地址栏键入:chrome://settings/contentchrome://settings/privacy,然后由程序,像操作普通网页一样,对浏览器进行设置,“ 清除数据 ”,然后进行保存。如下所示:
    python + selenium + chrome 如何清理浏览器缓存_第2张图片
  • 关于selenium窗口切换可以参考这篇文章:http://blog.csdn.net/zwq912318834/article/details/79206953

你可能感兴趣的:(python爬虫)