others - python - OSError: [Errno 8] Exec format error: 'chromedriver' using chromedriver on ubuntu server

138 3

我正在尝试将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)

selenium :


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最新的版本:

我不知道为什么这样,
1)某种访问问题? 我是具有命令行和ubuntu的初学者-我应该以“ root”用户身份运行它吗?

2)chromedriver和chrome版本不匹配? 有没有办法确定我拥有哪个chromedriver版本?

3)我看到chromedriver和selenium在不同的位置。selenium处于: Location: /home/ubuntu/.local/lib/python3.6/site-packages而且我已经将chromedriver移至: /usr/bin这可能引起问题?

时间: 原作者:

99 4

步骤:

  • 下载Chrome : wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  • 安装Chrome : sudo dpkg -i google-chrome-stable_current_amd64.deb
  • 如果你获得错误,运行: sudo apt-get -f install
  • 检查Chrome :google-chrome --version
  • 下载适用于Linux的chromedriver:wget https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_linux64.zip
  • 解压缩chromedriver,安装解压缩 sudo apt install unzip如果需要:unzip chromedriver_linux64.zip
  • 将chromedriver移至/usr/bin:sudo mv chromedriver /usr/bin/chromedriver
  • 检查chromedriver运行命令:chromedriver
  • 安装Java : sudo apt install default-jre
  • 安装selenium : sudo pip3 install selenium

创建测试文件nano test.py,内容如下,按CTRL +X退出,然后按Y保存。 执行脚本- python3 test.py


#!/usr/bin/python3



from selenium import webdriver


from selenium.webdriver.chrome.options import Options



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



try:


 driver = webdriver.Chrome(chrome_options=options)


 driver.get("https://www.google.com")


 s = driver.find_element_by_name("q")


 assert s.is_displayed() == True


 print("ok")


except Exception as ex:


 print(ex)



driver.quit()



原作者:
...