selenium.common.exceptions.WebDriverException:消息:未知错误:Chrome无法启动:使用ChromeDriver Chrome和Selenium异常退出

时间:2019-02-06 19:38:23

标签: python selenium google-chrome selenium-webdriver selenium-chromedriver

我正在尝试在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”自变量。但是,我已经在这样做了。

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

我还检查了所有内容是否都是最新的。

ChromeDriver 2.10.267518
selenium     3.141.0

这是发生错误的代码段。

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')

我也尝试了不带执行路径选项的情况下运行上述代码,但仍然出现相同的错误。

2 个答案:

答案 0 :(得分:0)

此错误消息...

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 无法启动/产生新的 WebBrowser ,即 Chrome浏览器会话。

您的主要问题是所使用的二进制版本之间的不兼容性

  • 您正在使用 chromedriver = 2.10
  • chromedriver=2.10的发行说明中明确提到以下内容:
  

支持 Chrome v33-36

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

支持 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客户端版本太旧,则将其卸载并安装最新版本的 Web客户端 GA。
  • 进行系统重启
  • 执行您的@Test

答案 1 :(得分:0)

我正在使用一个配置文件,该文件将标头值设置为True,因此代码试图在浏览器上运行并失败。这是一个愚蠢的错误,但是无论如何我都会发布解决方案,以防它对某人有所帮助。

我还必须删除下面的行

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

并更改此行

options.add_argument('--headless')

options.add_argument('headless')