无法获得在Python + Selenium

时间:2016-06-30 09:34:16

标签: python selenium firefox-marionette

所以很遗憾Webdriver不再适用于Firefox 47+,所以我期待切换到Marionette

我一直在按照on this page

的指示行事

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

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

非常确定这是一个愚蠢的东西,我错过了,但我无法弄清楚它是什么。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您需要下载Marionette executable as wellhttps://github.com/mozilla/geckodriver/releases

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

<强>更新

它在Linux上使用Firefox 47为我工作。

Mozilla建议使用virtualenv,你试过吗?

答案 1 :(得分:0)

当前版本的Firefox无法与selenium webdriver一起使用。为什么你不想安装早期版本的Firefox。

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

下载

您可以从here

尝试任何其他旧版本的Firefox

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