爬虫系列:seleinum调用chrome长时间运行后出现崩溃
爬虫-系列:
爬虫系列:seleinum调用chrome长时间运行后出现崩溃(内存溢出)
场景
查阅资料后得知:chrome浏览器有内存泄漏的情况也可能是浏览器缓存过大,越堆越多。selenium模拟浏览器会产生大量的临时文件,那如何解决这个问题呢?
我网上找了很多办法,有的用到JS,有的用kill去杀掉进程。最后发现最简洁/有效的办法
解决方案0:
调用refresh刷新一下即可,进程会自动消掉,内存也不会被吃完。脚本可以一直运行到天荒地老。
1 |
# 刷新页面,减少缓存 |
其他解决方案
解决方案1:
进入清理缓存页,通过元素定位清理缓存 https://www.freesion.com/article/3732592128/
1 |
from selenium import webdriver |
1 |
|
1 |
#coding=utf-8 |
解决方案2:
selenium调用Chrome本身就会出现内存泄漏,换用firefox浏览器 https://blog.csdn.net/xpt211314/article/details/125050558
解决方案3:
尝试使用 无头模式 handless 解决,适合不需要页面的朋友(很显然不适合催单场景)
拓展:
1 |
driver.delete_all_cookies() |
注意 selenium webdriver退出方式
1 |
`driver.close()`改为`driver.quit()` |