geckodriver

macOS selenium3.4 python3 sublimetext3

web开发测试驱动方法 第四页 第一个功能测试

functional_tests.py

from selenium import webdriver 

browser = webdriver.Firefox()

browser.get('http://localhost:8000')

assert 'Django' in browser.title

报错

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 74, in start

stdout=self.log_file, stderr=self.log_file)

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 707, in init

restore_signals, start_new_session)

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1333, in _execute_child

raise child_exception_type(errno_num, err_msg)

FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/Frankyan360/Documents/web_test/functional_tests.py", line 3, in <module>

browser = webdriver.Firefox()

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 142, in init

self.service.start()

File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 81, in start

os.path.basename(self.path), self.start_error_message)

selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

[Finished in 0.2s with exit code 1]
[cmd: ['/usr/local/bin/python3', '-u', '/Users/Frankyan360/Documents/web_test/functional_tests.py']]
[dir: /Users/Frankyan360/Documents/web_test]
[path: /usr/bin:/bin:/usr/sbin:/sbin]

不知道哪里出问题了

阅读 2.9k
2 个回答

'geckodriver' executable needs to be in PATH.是说你这个东西应该有个可执行的程序,要添加到PATH里,就是要把geckodriver的位置添加到系统环境变量里,或者你在usr/bin下建立一个软连接

首先先确定你selenium的版本,2.53.0之前直接安装selenium是没有问题的,另外再看下你Firefox的版本,在版本45之后会使用新的geckodriver驱动才能使用。最好使用最新版本的selenium以便减少错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题