python Selenium 包中的格式错误

Format error in python Selenium package

我 运行 在 Linux Debian 9 和 PyCharm 上进行网络抓取;我目前正在使用 Python 3.5 作为解释器。

脚本如下:

from selenium import webdriver
import time
import datetime
from selenium.webdriver.common.keys import Keys

到目前为止,通过正确导入包,脚本工作正常;当我尝试通过 运行 以下行设置驱动程序时:

driver = webdriver.Firefox(executable_path='/home/quant/Desktop/DataDownload/venv/bin/geckodriver')

我收到以下与格式问题相关的错误消息:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/quant/Desktop/DataDownload/venv/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 157, in __init__
    self.service.start()
  File "/home/quant/Desktop/DataDownload/venv/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.5/subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.5/subprocess.py", line 1282, in _execute_child
    raise child_exception_type(errno_num, err_msg)
OSError: [Errno 8] Exec format error

在网上浏览,发现可能是可执行程序未解压并正确执行时出现此问题;为此,我按照以下步骤操作,在终端上 运行 它们:

(1).zip 文件从 github 网站的官方存储库下载:

wget [here][1]

(2) 解压缩文件:

cd /home/quant/Downloads
tar -xvzf geckodriver-v0.21.0-arm7hf.tar.gz

(3) 使文件可执行:

chmod +x geckodriver

(4) 将文件移动到以下路径:

mv geckodriver /home/quant/PycharmProject/DataDownloads/venv/bin/

有人可以帮助我了解问题所在吗?

先谢谢大家!!

[Errno 8] Exec format error

这意味着您正在尝试 运行 为不同架构编译的 geckodriver 版本...您下载了 ARM 版本 (geckodriver-v0.21.0-arm7hf.tar.gz) 并且很可能 运行在 x86/amd64 机器上。

解决方法: 返回 geckodriver 发布页面并为您的系统下载正确的版本:https://github.com/mozilla/geckodriver/releases.

比如你是运行ning 64位Linux,你要下载:geckodriver-v0.21.0-linux64.tar.gz