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)
在webdriver.firefox
上,即使我尝试使用geckodriver路径,它也会引发异常
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
答案 0 :(得分:0)
此错误消息...
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 二进制文件解压缩 / untar 。