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
我 运行 在 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