【发布时间】:2026-01-19 06:20:14
【问题描述】:
我正在尝试将 Chromedriver 与 Ubuntu(AWS 实例)一起使用。我已经让 Chromedriver 在本地实例中正常工作,但在远程实例中却有很多很多问题。
我正在使用以下代码:
options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--headless')
options.add_argument('--disable-dev-shm-usage')
options.add_argument("--remote-debugging-port=9222")
driver = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=options)
但是,我不断收到此错误:
Traceback (most recent call last):
File "test.py", line 39, in <module>
driver = webdriver.Chrome()
File "/home/ubuntu/.local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/home/ubuntu/.local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: 'chromedriver'
我相信我使用的是 Selenium、Chrome 和 Chromedriver 的最新版本。
Chrome版本为:Version 78.0.3904.70 (Official Build) (64-bit)
硒:
ubuntu@ip-172-31-31-200:/usr/bin$ pip3 show selenium
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: /home/ubuntu/.local/lib/python3.6/site-packages
Requires: urllib3
最后,对于 Chromedriver,我几乎可以肯定我在这里下载了最新版本:https://chromedriver.storage.googleapis.com/index.html?path=78.0.3904.70/。它是 mac_64 版本(我在 Mac 上使用 Ubuntu)。然后我将 chromedriver 放在 /usr/bin 中,因为我读到这是常见的做法。
我不知道为什么这不起作用。我能想到的几个选项:
-
某种访问问题?我是命令行和 ubuntu 的初学者 - 我应该以“root”用户身份运行它吗?
-
Chromedriver 和 Chrome 版本不匹配?有没有办法确定我使用的是哪个
chromedriver版本? -
我看到 Chromedriver 和 Selenium 位于不同的位置。 Selenium 位于:
Location: /home/ubuntu/.local/lib/python3.6/site-packages,我已将chromedriver移至:/usr/bin。这会导致问题吗?
【问题讨论】:
-
你在你的mac中使用虚拟机吗?
-
我认为您在 32 位实例上使用 x64 chromedriver
-
是的,我在 AWS 服务 (EC2) 上使用 Ubuntu。我应该使用哪个 chromedriver?选项在这里:chromedriver.storage.googleapis.com/…
-
我不认为这是一个 32 位实例。这是我选择的版本:Ubuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-0d5d9d301c853a04a (64-bit x86) / ami-0fb0129cd568fe35f (64-bit Arm)
-
我是否正确,这是一个 64 位实例,如果我使用的是 Mac,我应该下载 Mac 64 位版本?
标签: python selenium ubuntu amazon-ec2 selenium-chromedriver