如何在Mozilla - Marionette Web驱动程序中设置特定的下载位置?

时间:2016-10-17 12:08:18

标签: python selenium firefox firefox-marionette

我有一个自动化脚本,在最近的mozilla更新之前运行良好。 selenium-python脚本自动执行我的一些浏览器操作,并将某些报告(csv)保存到定义的位置。

我一直在使用selenium 2.53.6,它使用以下代码:

profile = webdriver.firefox.firefox_profile.FirefoxProfile()
profile.set_preference('browser.helperApps.neverAsk.saveToDisk',"text/csv, application/pdf,application/octet-stream")
profile.set_preference('browser.download.folderList',2)
profile.set_preference("browser.download.manager.showWhenStarting",False)
profile.set_preference('browser.download.dir','D:\Downloads')
driver = webdriver.Firefox(firefox_profile=profile)

目前我使用selenium-python 3.0.1和Firefox 48.这里我添加了geckodriver路径到环境变量,并且能够使用以下代码启动firefox:

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

caps = DesiredCapabilities.FIREFOX
caps["marionette"] = True
driver = webdriver.Firefox(capabilities=caps)

我很好奇如何在firefox-marionette驱动程序中执行profile.set_preference等效操作。我无法找到任何文件。

请告知。

1 个答案:

答案 0 :(得分:1)

您也可以将profile传递给FirefoxDriver,因为: -

driver = webdriver.Firefox(capabilities=caps, firefox_profile=profile)

您也可以将firefox_profile设置为capabilities: -

caps["firefox_profile"] = profile
driver = webdriver.Firefox(capabilities=caps)