问题描述
在AWS Cloud9中工作,我的脚本是:
Working in AWS Cloud9, my script is:
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键盘中断为止.追溯返回此:
However, when I run the file, the run configuration hangs until I keyboard interrupt with ctrl+c. Traceback returns this:
> 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上.非常困难.
Just spent the last 4 hours trying to install chrome and beautifulsoup onto AWS Cloud 9. Very difficult.
我只是让它运行,直到它自身停止并返回Message: unknown error: Chrome failed to start: exited abnormally
I just let it run until it stopped by itself and returned Message: unknown error: Chrome failed to start: exited abnormally
驱动程序信息:chromedriver = 2.10.267518,
Edit 2: Driver info: chromedriver=2.10.267518,
platform = Linux 4.9.85-38.58.amzn1.x86_64 x86_64
platform=Linux 4.9.85-38.58.amzn1.x86_64 x86_64
Google Chrome 66.0.3359.117
Google Chrome 66.0.3359.117
推荐答案
此错误消息...
Message: unknown error: Chrome failed to start: exited abnormally
...表示 ChromeDriver 无法建立新的 Chrome 会话.
...implies that the ChromeDriver was unable to establish a new Chrome session.
根据您的问题更新,主要问题是您正在使用的二进制文件之间的版本兼容性:
As per your question update your main issue is the version compatibility between the binaries you are using as follows :
- 您正在使用 chromedriver = 2.10 ,它很老和 ancient
- 您正在使用 chrome = 66.0
- ChromeDriver v2.38 明确提及以下内容:
- You are using chromedriver=2.10 which pretty old and ancient
- You are using chrome=66.0
- Release Notes of ChromeDriver v2.38 clearly mentions the following :
- 您不知道您的 Selenium Client 版本.
- Your Selenium Client version is unknown to us.
- 将硒升级到当前级别> 版本3.11.0 > .
- 将 ChromeDriver 升级到当前的 ChromeDriver v2.38 级别.
- 保持 Chrome 版本处于 Chrome v66.x 级别. (根据ChromeDriver v2.38发行说明) 通过 IDE
- 清理您的项目工作区和重建您的项目,并且仅具有必需的依赖项.
- 使用 CCleaner 工具清除之前和之后的所有操作系统杂项在执行 test Suite 之后.
- 如果您的基本 Web客户端版本太旧,请通过来卸载. Revo Uninstaller 并安装最新版本的 Web客户端 GA和发行版.
- 进行系统重启.
- 执行您的
@Test
. - Upgrade Selenium to current levels Version 3.11.0.
- Upgrade ChromeDriver to current ChromeDriver v2.38 level.
- Keep Chrome version at Chrome v66.x levels. (as per ChromeDriver v2.38 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
- If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
- Take a System Reboot.
- Execute your
@Test
. - WebDriverException:消息:未知错误:Chrome无法启动:ChromeDriver在VPS上通过Python异常退出了ChromeDriver Chrome和Selenium
- WebDriverException:消息:未知错误:Chrome无法启动:ChromeDriver在VPS上通过Python异常退出了ChromeDriver Chrome和Selenium
- WebDriverException:消息:未知错误:Chrome无法启动:ChromeDriver在VPS上通过Python异常退出了ChromeDriver Chrome和Selenium
- WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS
- WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS
- WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally with ChromeDriver Chrome and Selenium through Python on VPS
因此, ChromeDriver 版本( v2.10 )和 Chrome浏览器版本( v66)之间存在明显的不匹配. 0 )
So there is a clear mismatch between the ChromeDriver version (v2.10) and the Chrome Browser version (v66.0)
您可以在以下位置找到一些相关的讨论:
You can find a couple of relevant discussions in:
这篇关于消息:未知错误:Chrome无法启动:在具有Linux 4.9.85-38.58.amzn1.x86_64 x86_64的AWS Cloud9上异常退出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!