所以很遗憾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
非常确定这是一个愚蠢的东西,我错过了,但我无法弄清楚它是什么。有什么想法吗?
答案 0 :(得分:0)
您需要下载Marionette executable as well。 https://github.com/mozilla/geckodriver/releases
将它放在你路径的某个地方。
<强>更新强>
它在Linux上使用Firefox 47为我工作。
Mozilla建议使用virtualenv,你试过吗?
答案 1 :(得分:0)
当前版本的Firefox无法与selenium webdriver
一起使用。为什么你不想安装早期版本的Firefox。
Firefox 47.0对我来说很好用。您可以从Firefox FTP
下载您可以从here
尝试任何其他旧版本的Firefox注意:不要忘记关闭Firefox自动更新。