【问题标题】:Unable to open firefox using selenium-python-geckodriver无法使用 selenium-python-geckodriver 打开 Firefox
【发布时间】:2017-05-24 10:46:50
【问题描述】:

新手来了!帮帮忙!

环境: Windows 10.1 (64Bit) + Selenium + Python + geckodriver.exe(最新版本 - v0.13.0 - https://github.com/mozilla/geckodriver/releases

问题:

  • 无法使用下面提到的代码打开 firefox 浏览器

使用的代码:

from selenium import webdriver
path = 'C:\Program Files (x86)\Python36-32\Lib\site-packages\selenium\webdriver\firefox\geckodriver.exe'
browser = webdriver.Firefox(path)
browser.get("https://www.google.com/")

注意:

  • 通过相应地更改位置路径,能够使用 chromewebdriver 和 Microsoftwebdriver 打开 Chrome 和 IE Edge
  • 也设置了windows环境路径环境。检查以下:
    • C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver
    • C:\Program Files (x86)\Python36-32
    • C:\Program Files (x86)\Python36-32\Scripts

问题:

  1. 有什么问题?给出正确的位置路径。还是打不开
  2. 上述环境变量中设置的路径是否正确?我试了很多次改了也没用。有人可以分享您的工作环境变量路径吗?

请回复!感谢您的宝贵时间!

【问题讨论】:

  • 分享你的错误回溯

标签: python selenium firefox selenium-webdriver geckodriver


【解决方案1】:

将以下值添加到 PATH :

  1. C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\firefox (i.e., till geckodriver.exe)

在该路径中查找文件/exe 时,它​​不会在该路径的子文件夹中查找。

或者

将 geckodriver.exe 保存在以下路径之一中,这些路径已添加到 PATH

 1. C:\Program Files (x86)\Python36-32\Scripts
 2. C:\Program Files (x86)\Python36-32
 3. C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver

注意:系统可能需要重新启动。

【讨论】:

    【解决方案2】:

    尝试使用 executable_path , 此参数用于指定运行 geckodriver 的路径

    base_path = "./"
    driver = webdriver.Firefox(executable_path=os.path.join(base_path, "geckodriver"), **config)
    

    【讨论】:

      【解决方案3】:

      请尝试关注并告诉我它是否解决了您的问题

      from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
      from selenium import webdriver
      
      path = 'C:\Program Files (x86)\Python36-32\Lib\site-packages\selenium\webdriver\firefox\geckodriver.exe'
      binary = FirefoxBinary('C:\Path\to\firefox.exe') # Set your own path
      browser = webdriver.Firefox(path, firefox_binary=binary)
      

      【讨论】: