我正在使用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
答案 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()