启动Firefox时出现python webdriver错误

时间:2016-10-15 10:09:39

标签: python selenium path webdriver

我最近下载了selenium并尝试运行此脚本:

 from selenium import webdriver
 driver = webdriver.Firefox()

但是我收到了这个错误:

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    driver = webdriver.Firefox()
  File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\firefox\webdriver.py", line 145, in __init__
    keep_alive=True)
  File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 179, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Heights\PortableApps\PortablePython2.7.6.1\App\lib\site-packages\selenium-3.0.1-py2.7.egg\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'firefox_binary' capability provided, and no binary flag set on the command line

哦顺便说一下,在打印错误之前打开我的geckodriver.exe

1 个答案:

答案 0 :(得分:7)

我通过按照以下答案手动设置二进制位置来解决这个问题:

https://stackoverflow.com/a/25715497

请记住将二进制文件设置为计算机上firefox二进制文件的实际位置

例如:

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
self.browser = webdriver.Firefox(firefox_binary=binary)

(注意:文件路径字符串中第一个引号之前的&#39; r使得python将字符串视为&#39; raw&#39;文本,因此您不需要转义字符,例如&#39; \&#39; - 您可以按原样放入路径)