已解决selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
(chrome not reachable)
(The process started from chrome location C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
(Driver info: chromedriver=72.0.3626.7 (efcef9a3ecda02b2132af215116a03852d08b9cb),platform=Windows NT 10.0.17763 x86_64)
报错问题
粉丝群里面的一个小伙伴遇到问题跑来私信我,想用selenium自动化操作浏览器反复启动,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下所示:
chrome_options = webdriver.ChromeOptions()
# 忽略证书
chrome_options.add_argument('--ignore-certificate-errors-spki-list')
chrome_options.add_argument('--ignore-certificate-errors')
chrome_options.add_argument('--ignore-ssl-errors')
# 读取日志
chrome_options.add_experimental_option('w3c', False)
caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}
driver = webdriver.Chrome(desired_capabilities=caps, options=chrome_options)
# driver.maximize_window()
driver.maximize_window()
# driver.set_window_size(1928,1048)
driver.implicitly_wait(60)
# 隐藏浏览器指纹
with open(r'stealth.min.js') as f:
js = f.read()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": js
})
driver.get(url)
报错信息内容截图如下所示:
报错翻译
报错信息内容翻译如下所示:
selenium.com.mon.exceptions.WebDriver异常:消息:未知错误:Chrome无法启动:崩溃(无法访问chrome)
(进程从chrome位置C:\Users\Administrator\AppData\Local\Google\chrome\Application\chrome.exe启动,因此ChromeDriver假设chrome已崩溃。)
(驱动程序信息:chromedriver=72.0.3626.7(efcef9a3ecda02b2132f215116a03852d08b9cb),平台=Windows NT 10.0.17763x86_64)
报错原因
报错原因:
这些问题包括:经常卡住,运行慢、卡,浏览器关不掉,CPU 和 内存 经常是满载运行的,特别是 CPU ,经常是 99% 的使用率。
Chromium 消耗最多的资源是 CPU,一是渲染需要大量计算,二是 Dom 的解析与渲染在不同的进程,进程间切换会给 CPU 造成压力(进程多了之后特别明显)。
其次消耗最多的是内存,Chromium 是以多进程的方式运行,一个页面会生成一个进程,一个进程占用 30M 左右的内存,大致估算 1000 个请求占用 30G 内存,在并发高的时候内存瓶颈最先显现。
小伙伴们按下面的方法设置即可解决!!!
解决方法
优化最终会落在内存和 CPU 上(所有软件的优化最终都要落到这里),通常来说因为并发造成的瓶颈需要优化内存,计算速度慢的问题要优化 CPU,添加以下代码即可解决:
chrome_options = webdriver.ChromeOptions()
# GPU硬件加速
chrome_options.add_argument('–-disable-gpu')
# 彻底停用沙箱
chrome_options.add_argument('--no-sandbox')
# 创建临时文件共享内存
chrome_options.add_argument('--disable-dev-shm-usage')
# 单进程运行
chrome_options.add_argument('-–single-process')
driver = webdriver.Chrome(options=chrome_options)
以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!
千人全栈VIP答疑群联系博主帮忙解决报错
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html
-
优点:作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!
-
专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
-
注意:如果希望得到及时回复,和大佬们交流学习,订阅专栏后私信博主进千人VIP答疑群
文章来源:https://www.toymoban.com/news/detail-425965.html
文章来源地址https://www.toymoban.com/news/detail-425965.html
到了这里,关于已解决Message: unknown error: Chrome failed to start: crashed (chrome not reachable)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!