消息:未知错误:Chrome无法启动:使用Linux 4.9.85-38.58.amzn1.x86_64 x86_64在AWS Cloud9上异常退出

时间:2018-04-25 16:36:24

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

在AWS Cloud9中工作,我的脚本是:

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import requests


options = Options()
options.binary_location = '/usr/bin/google-chrome'
driver = webdriver.Chrome(chrome_options=options, executable_path='/home/ec2-user/environment/downloads/chromedriver')
url = 'http://google.com'
driver.get(url)

soup = BeautifulSoup(driver.page_source, 'lxml')

# driver.quit()    

print(soup)

但是,当我运行该文件时,运行配置会挂起,直到我用ctrl + c键盘中断。 Traceback返回:

> Traceback (most recent call last):   File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/hubspot-marketplace.py",
> line 9, in <module>
>     driver = webdriver.Chrome(chrome_options=options, executable_path='/home/ec2-user/environment/downloads/chromedriver')  
> File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/chrome/webdriver.py",
> line 75, in __init__
>     desired_capabilities=desired_capabilities)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 154, in __init__
>     self.start_session(desired_capabilities, browser_profile)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 243, in start_session
>     response = self.execute(Command.NEW_SESSION, parameters)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py",
> line 310, in execute
>     response = self.command_executor.execute(driver_command, params)   File
> "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/remote_connection.py",
> line 466, in execute
>     return self._request(command_info[0], url, body=data)   File "/home/ec2-user/environment/vpy36/lib/python3.6/dist-packages/selenium/webdriver/remote/remote_connection.py",
> line 490, in _request
>     resp = self._conn.getresponse()   File "/usr/lib64/python3.6/http/client.py", line 1331, in getresponse
>     response.begin()   File "/usr/lib64/python3.6/http/client.py", line 297, in begin
>     version, status, reason = self._read_status()   File "/usr/lib64/python3.6/http/client.py", line 258, in _read_status
>     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")   File "/usr/lib64/python3.6/socket.py", line 586, in readinto
>     return self._sock.recv_into(b) KeyboardInterrupt

在过去的4个小时里,我们尝试将chrome和beautifulsoup安装到AWS Cloud 9上。非常困难。

编辑:我让它一直运行直到它自行停止并返回Message: unknown error: Chrome failed to start: exited abnormally

编辑2:驱动程序信息:chromedriver = 2.10.267518,

platform = Linux 4.9.85-38.58.amzn1.x86_64 x86_64

Google Chrome 66.0.3359.117

1 个答案:

答案 0 :(得分:2)

此错误消息......

Message: unknown error: Chrome failed to start: exited abnormally

...表示 ChromeDriver 无法建立新的 Chrome 会话。

根据您的问题更新,您的主要问题是您使用的二进制文件之间的版本兼容性,如下所示:

  • 您正在使用 chromedriver = 2.10 非常古老
  • 您正在使用 chrome = 66.0
  • ChromeDriver v2.38的发行说明明确提及以下内容:
  

支持 Chrome v65-67

  • 我们不知道您的 Selenium客户端版本。

因此 ChromeDriver 版本( v2.10 )与 Chrome浏览器版本( v66)之间存在明显的不匹配。 0

解决方案

  • Selenium 升级到当前级别Version 3.11.0
  • ChromeDriver 升级到当前ChromeDriver v2.38级别。
  • Chrome 版本保留在 Chrome v66.x 级别。 (as per ChromeDriver v2.38 release notes
  • 通过 IDE 清理您的项目工作区仅使用所需的依赖项重建项目
  • 使用CCleaner工具清除执行测试套件之前和之后的所有操作系统杂务。
  • 如果您的基本 Web客户端版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和已发布的 Web客户端版本。
  • 进行系统重启
  • 执行@Test