OSError:[Errno 8] Mac OS上的GeckoDriver和Selenium出现执行格式错误
我正在使用firefox gecko驱动程序制作一个机器人,我的机器人不断收到错误消息,并且发现消息的来源是:
I am using firefox gecko driver to make a bot, I keep getting error messages with my bot and I have found that the source of the message is the:
from selenium import webdriver
browser= webdriver.Firefox()
行.
我已将错误消息中提到的每个文件添加到路径,包括gecko驱动程序,firefox和其他较小的文档.我完全不知所措
I have added every file mentioned in the error message to path including gecko driver, firefox, and the other smaller documents. I am at a complete loss
这是错误消息:
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
此错误消息...
OSError: [Errno 8] Exec format error
...表示所调用的 GeckoDriver 二进制文件格式不正确.
...implies that the GeckoDriver binary which was invoked was not in proper format.
您的主要问题是 GeckoDriver 二进制格式与基础操作系统的不兼容.
Your main issue is the incompatibility of the GeckoDriver binary format with respect to the underlying Operating System.
在 MacOS 上时,您需要从executable_path
如下:
As you are on MacOS you need to download geckodriver-v0.23.0-macos.tar.gz from mozilla/geckodriver, untar/unzip it and provide the absolute path of the GeckoDriver through the argument executable_path
as follows:
from selenium import webdriver
browser= webdriver.Firefox(executable_path='/path/to/geckodriver')