OSError:[Errno 8] Mac OS上的GeckoDriver和Selenium执行格式错误

时间:2018-10-15 01:51:05

标签: python selenium firefox selenium-webdriver geckodriver

我正在使用firefox gecko驱动程序制作一个机器人,我的机器人不断收到错误消息,并且发现消息的来源是:

from selenium import webdriver

browser= webdriver.Firefox()

行。

我已将错误消息中提到的每个文件添加到路径,包括gecko驱动程序,firefox和其他较小的文档。我完全茫然

这是错误消息:

Traceback (most recent call last):
  File "/usr/local/bin/fuckobot1.py", line 3, in <module>
    browser= webdriver.Firefox()

File "/Users/'myname'/Library/Python/2.7/lib/python/site-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__
    self.service.start()

File "/Users/'myname'/Library/Python/2.7/lib/python/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child

raise child_exception
OSError: [Errno 8] Exec format error

2 个答案:

答案 0 :(得分:2)

此错误消息...

OSError: [Errno 8] Exec format error

...表示所调用的 GeckoDriver 二进制文件格式不正确。

您的主要问题是 GeckoDriver 二进制格式与基础操作系统不兼容

MacOS 上时,您需要从mozilla/geckodriver下载 geckodriver-v0.23.0-macos.tar.gz ,解压缩/解压缩并提供 GeckoDriver 绝对路径通过参数 executable_path 如下:

from selenium import webdriver

browser= webdriver.Firefox(executable_path='/path/to/geckodriver')

答案 1 :(得分:0)

这可能是此问题的答案,
当它显示类似的内容时,无法加载您的Firefox配置文件。它可能丢失或无法访问。
实际问题是,Firefox 48.0或更高版本不适用于硒3.0.0或更高版本。
因此,请检查您的版本。 因此,要使其正常工作,您还需要更新最新的硒和相应的geckodriver版本,以解决此问题。

然后尝试基本命令,

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

driver = webdriver.Firefox()