我使用 python 2.7 和 selenium 3.0.1 开发了一个自动测试工具。它在 Firefox 49 上运行良好。我需要它也适用于 Firefox 45。我试过了,但该工具发现打开浏览器有问题。这段脚本如下所示:
from selenium import webdriver
downloadPath="path/downloads"
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', downloadPath)
profile.set_preference('browser.helperApps.alwaysAsk.force', False)
profile.set_preference('browser.helperApps.neverAsk.openFile', 'application/x-targz, application/x-gzip, application/force-download')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/x-targz, application/x-gzip, application/force-download')
browser = webdriver.Firefox(profile)
这个小程序在 Firefox 49 上运行良好,但在 Firefox 45 中出现此错误:
Traceback (most recent call last):
File "path/test.py", line 10, in <module>
browser = webdriver.Firefox(profile)
File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.1-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.1-py2.7.egg/selenium/webdriver/common/service.py", line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
我在互联网上进行了搜索,发现我必须安装 geckodriver。我从 github 下载了 geckodriver:https ://github.com/mozilla/geckodriver/releases我提取了 tar.gz 文件并将其路径添加到 PATH 环境变量中,如下所示:
export PATH=$PATH:/home/user/Downloads/geckodriver
但我得到了同样的错误。有人知道我该如何解决这个错误吗?