以下は私の環境です:
- OS:Windows 10~64(Home版)
- ブラウザ : Firefox 47.0.1 (32 ビット)
- Python: 2.7.10.12 (64 ビット)
- セレン:3.0.1
- Geckodriver: geckodriver-v0.11.1-win64.zip
に Firefox がインストールされていC:\Program Files (x86)\Mozilla Firefox
ます。
geckodriver.exe が配置されC:\Python27\Scripts
ます。
以下は私のpythonコードです:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.python.org")
次のエラーが発生します。
Traceback (most recent call last):
File "examples1.py", line 5, in <module>
driver = webdriver.Firefox()
File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 152, in __init__
keep_alive=True)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line
私の質問は、Firefox がデフォルトの場所にインストールされているにもかかわらず、webdriver がそれを見つけることができず、エラーをスローすることです。
注: 次のように Firefox のバイナリの場所を明示的に指定すると、動作します。
binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary)