【问题标题】:Selenium unable to start FirefoxSelenium 无法启动 Firefox
【发布时间】:2017-02-25 01:29:17
【问题描述】:

我正在尝试制作一个简单的抓取程序,但我无法让 Selenium 与 Firefox 一起使用。我安装了Marionette,但这并没有解决任何问题。当我输入这个时:

from selenium import webdriver

driver = webdriver.Firefox()

我收到此错误:

AttributeError: 'Service' 对象没有属性 'process'

此外,PyCharm 会发出以下警告:

'Firefox' 不可调用

我该如何解决这个问题?

【问题讨论】:

  • 你能指定 Firefox 和 selenium 版本吗?
  • 我已经找到了解决方案,但是对于遇到同样问题的任何人:我目前使用的是 Firefox 49.0.1 和 Selenium 3.0.1。

标签: python selenium firefox pycharm


【解决方案1】:

试试:

driver = webdriver.Firefox(executable_path="path to your driver")

例如:driver = webdriver.Firefox(executable_path="C:\Python27\wires.exe")

【讨论】:

    【解决方案2】:

    尝试使用 firefox 可执行文件的完整路径。也许它没有在你的变量环境路径中列出..

    from selenium import webdriver
    driver = webdriver.Firefox("/path/to/firefox")
    

    这应该告诉您的脚本在哪里可以找到 firefox 可执行文件。

    编辑:

    如果您使用的是 Windows,请尝试使用双斜杠。

    即:'C://Program Files (x86)//Mozilla Firefox//firefox.exe'

    或将其标记为原始字符串:

    即:r'C:/Program Files (x86)/Mozilla Firefox/firefox.exe'

    【讨论】:

    • 现在我收到此错误:NotADirectoryError: [WinError 267] 目录名称无效:'C:/Program Files (x86)/Mozilla Firefox/firefox.exe'。但是,那是我的 firefox 可执行文件的目录,我可以从那里启动它。
    • 编辑后: 我得到了同样的错误: NotADirectoryError: [WinError 267] 目录名无效:'C://Program Files (x86)//Mozilla Firefox //firefox.exe'
    【解决方案3】:

    您需要编写以下代码行来运行带有 Selenium 3 的 Firefox:

    from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
    ff_Binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe')
    driver = webdriver.Firefox(firefox_binary = ff_Binary)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-21
      • 2015-02-28
      • 2016-08-08
      • 2014-01-20
      • 1970-01-01
      • 2018-09-05
      • 2017-04-26
      • 1970-01-01
      相关资源
      最近更新 更多