python - Selenium Firefox 驱动程序引发异常 OSError: [Errno 8] Exec 格式错误
问题描述
def setUp(self):
display = Xvfb()
display.start()
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")
self.browser= webdriver.Firefox(firefox_profile=fp)
即使我尝试使用geckodriverwebdriver.firefox
路径,它也会引发异常
self.browser=webdriver.Firefox(executable_path='/usr/bin/geckodriver',firefox_profile=fp)
但它仍然引发了一个例外
Traceback (most recent call last):
File "fbCampaign.py", line 23, in setUp
self.browser= webdriver.Firefox(executable_path='/usr/bin/geckodriver',firefox_profile=fp)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 157, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/common/service.py", line 76, in start
stdin=PIPE)
File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error
解决方案
此错误消息...
OSError: [Errno 8] Exec format error
...表示您尝试使用的geckodriver二进制文件是为不同的平台编译的。
解决方案
从GeckoDriver Release Repository下载特定于您的平台(Windows、Mac、Linux)的GeckoDriver二进制文件。
您必须选择正确的GeckoDriver二进制文件以匹配它将运行的底层操作系统:
geckodriver-v0.22.0-linux32.tar.gz
:适用于 Linux 操作系统。geckodriver-v0.22.0-macos.tar.gz
: 对于 MAC OSX。geckodriver-v0.22.0-win32.zip
:适用于 Windows 32 位操作系统。geckodriver-v0.22.0-win64.zip
:适用于 Windows 64 位操作系统。
注意:下载后,您需要解压缩/解压缩GeckoDriver二进制文件。
推荐阅读
- python - 如何在永远循环中停止等待从套接字接收的greenlet
- c# - 如何在 Selenium 中定位 Angular 元素?
- symfony - 忽略 packagist.org 并为一个包指定路径
- java - java.lang.UnsatisfiedLinkError chilkat 库
- react-native - 使用 Expo 的 React Native:错误:Metro Bundler 进程以代码 1 退出
- r - 我如何在 R 的图中修复图例
- spring-roo - 如何禁用 mvc html 字段?
- firebase - “错误:13 内部:发生内部错误”有时发生在 firebase 函数的触发器中
- python - AIOserial 问题:“ImportError:尝试使用没有已知父包的相对导入”
- activemq - 无法创建/run/activemq.pid:权限被拒绝