new ChromeDriver()的一个特殊错误

2022-04-02 16:40:19 浏览数 (1)

平常一直使用Selenium启动chrome很顺利,但是运气就是那么差,在做企业内训的时候突然跑的好好的Chrome跑步起来了,情况是Chrome浏览器启动了然后一闪而过就关闭了,留下一脸懵逼的我。

好吧既然问题出现了,解决不了是睡不着的,所以仔细分析了一下问题的原因,最后解决了。

首先浏览器能启动起来,说明chromedriver本身是没问题的!

其次Selenium的出错信息是,页面崩溃:

org.openqa.selenium.WebDriverException: unknown error: session deleted because of page crash

from unknown error: cannot determine loading status

回想到自己的Chrome一直需要沙盒模式才能启动,否则就会出现所有标签崩溃的问题,想想看是不是同样的原因。所以想法就是使用沙盒模式启动浏览器!

当然结果是不行!浏览器不会自动关闭了,但是仍然无法导航页面。那么换个角度吧,解决Chrome崩溃的问题,不要使用--no-sandbox启动。仔细看了下往上的解决方案,发现一切的根源是一个叫做bd001.sys的文件。该文件保存在windowssystem32drivers目录下,如果要删除这个文件需要在windows安全模式下才可以。

于是在启动时猛按F8切出windows启动菜单,选择安全模式,在安全模式下将bd001.sys文件删除,再次回到正常启动模式下,Chrome恢复正常。再次使用标准Chrome启动,一切恢复。

所以在无法启动chrome的时候除了chromedriver的匹配外,还可以参考一下这个问题。

0 人点赞