selenium.common.异常.WebDriverException:消息:未知错误:Chrome启动失败:ChromeDriver Chrome和Selenium异常退出

2024-04-24 16:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在linux服务器上运行一个webscraper。完整错误如下

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally 
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)

我在stackoverflow上看到过类似的问题,解决方案是包括“-headless”和“--no sandbox”参数。不过,我已经在做了。在

我可以在本地运行此代码,但是,我无法使它在服务器上工作。在

我还检查了一下,看看一切都是最新的,而且一切都是最新的。在

^{pr2}$

下面是发生错误的代码片段。在

options.add_argument('--headless')
options.add_argument('--no-sandbox')

caps = DesiredCapabilities.CHROME
caps['loggingPrefs'] = {'performance': 'ALL'}

driver = webdriver.Chrome(options=options, desired_capabilities=caps, executable_path='/usr/local/bin/chromedriver')

我也尝试过在不使用executable_path选项的情况下运行上面的代码,但是仍然得到相同的错误。在


Tags: pathno代码服务器addlinux错误caps
2条回答

此错误消息。。。在

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally 
(Driver info: chromedriver=2.10.267518,platform=Linux 4.4.0-141-generic x86_64)

…意味着ChromeDriver无法启动/生成新的网络浏览器,即Chrome浏览器会话。在

您的主要问题是正在使用的二进制文件版本之间的不兼容性,如下所示:

  • 您正在使用chromedriver=2.10
  • chromedriver=2.10的发行说明清楚地提到了以下内容:

Supports Chrome v33-36

  • 您可能正在使用最新的chrome=72.0
  • ChromeDriver v2.46的发行说明清楚地提到了以下内容:

Supports Chrome v71-73

所以ChromeDriver v2.10和Chrome浏览器v72.0之间存在明显的不匹配


解决方案

  • 将ChromeDriver升级到当前的ChromeDriver v2.46级别。在
  • Chrome版本保持在Chrome v71-73之间。(as per ChromeDriver v2.45 release notes
  • 通过您的IDE清理项目工作区,并仅使用所需的依赖项重建项目。在
  • 如果您的基本Web Client版本太旧,请将其卸载并安装最新的GA和发布版本的Web Client。在
  • 重新启动系统。在
  • 执行您的@Test。在

我使用的是一个将头值设置为True的配置文件,因此代码试图在浏览器中运行,但失败了。这是一个愚蠢的错误,但我还是把解决方案贴出来,以防对别人有所帮助。在

我还不得不删除下面的行

options.add_argument(' no-sandbox')

改变这条线

^{pr2}$

options.add_argument('headless')

相关问题 更多 >