python + selenium + chrome 如何清理浏览器缓存
1. 背景
- 在使用selenium + chrome浏览器渲染模式爬取数据时,如果并发任务过多,或者爬虫的运行时间很长,那么很容易出现浏览器崩溃的现象,如下:
- 这一般是资源消耗过大造成的(据说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/content 或 chrome://settings/privacy,然后由程序,像操作普通网页一样,对浏览器进行设置,“ 清除数据 ”,然后进行保存。如下所示:
- 关于selenium窗口切换可以参考这篇文章:http://blog.csdn.net/zwq912318834/article/details/79206953