1

所以不幸Webdriver的是不再适用于 Firefox 47+,所以我正在考虑切换到Marionette.

我一直按照此页面上的说明进行操作

不幸的是,下面的示例代码没有运行:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.FIREFOX

caps["marionette"] = True

caps["binary"] = "C:\Program Files (x86)\Firefox Developer Edition\firefox.exe"

driver = webdriver.Firefox(capabilities=caps)

我收到以下错误:-

Traceback (most recent call last):
      File "D:\Programming\repos\locreqmonkey\.git\LRT_Monkey\LRT_Monkey.py", line 21, in <module>
        driver = webdriver.Firefox(capabilities=caps)
      File "C:\Users\rhonore\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 60, in __init__
        self.service.start()
      File "C:\Users\rhonore\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\firefox\service.py", line 59, in start
        self.log_file = file("geckodriver.log", "w")
    NameError: name 'file' is not defined

很确定这是我错过的愚蠢的东西,但我不知道它是什么。有任何想法吗?

4

2 回答 2

0

当前版本的 Firefox 不适用于selenium webdriver. 为什么您不尝试安装早期版本的 Firefox。

Firefox 47.0 对我来说很好用。您可以从Firefox FTP下载它

您可以从这里尝试任何其他旧版本的 Firefox

注意:不要忘记关闭 Firefox 自动更新。

于 2016-06-30T19:07:00.680 回答
0

您还需要下载Marionette 可执行文件https://github.com/mozilla/geckodriver/releases

把它放在你的路径的某个地方。

更新:

它在带有 Firefox 47 的 Linux 上为我工作。

Mozilla 推荐使用virtualenv,你试过吗?

于 2016-06-30T18:52:15.663 回答