SeleniumのFirefoxでのテストエラー

2525 ワード

エラーメッセージは次のとおりです.
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 64, in start
    stdout=self.log_file, stderr=self.log_file)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 950, in __init__
    restore_signals, start_new_session)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 1540, 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/dawei/Desktop/Python3/selenium_learning/tmp.py", line 5, in 
    wd = webdriver.Firefox()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
    self.service.start()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/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. 

Exception ignored in: >
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 163, in __del__
    self.stop()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 135, in stop
    if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
DaWei:~ dawei$ python3 /Users/dawei/Desktop/Python3/selenium_learning/tmp.py 
'NoneType' object has no attribute 'path'

解決方法:まずgeckodriverをダウンロードして、ダウンロードしてダブルクリックしてファイルを解凍した後に1つのgeckodriverファイルを得て、このファイルを/usr/local/bin/ディレクトリの下に移動すればいいです.
NOTE:端末を使用して解凍する.tar.gzファイル:
tar zxvfファイルのパスは、例える、tar zxvf~/Downloads/geckodriver-v 0である.11.1-macos.tar.gz注:圧縮ファイルの同じディレクトリには解凍されず、端末のcdからのディレクトリに解凍されます
NOTE:端末を使ってファイルを移動する:
mvファイルパス移動先のフォルダパス:sudo mv~/downloads/geckodriver/usr/local/bin/