2016-10-17 7 views
3

У меня есть сценарий автоматизации, который работал задолго до недавнего обновления mozilla. Сценарий selenium-python автоматизирует некоторые действия моего браузера и сохраняет определенные отчеты (csv) в определенном месте.Как установить конкретное место загрузки в Mozilla - веб-драйвер Marionette?

Я использую селена 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) 

В настоящее время я использую селен-питон 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) 

Я любопытный о том, как сделать profile.set_preference эквивалент в драйвере светлячок-марионеток. Я не мог найти никаких документов.

Просьба сообщить.

ответ

1

Вы можете передать profile, а также запустить FirefoxDriver как: -

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

Вы также можете установить firefox_profile в capabilities как: -

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

Спасибо за это, но это еще не работает. 'profile.set_preference (" browser.download.folderList ", 2) profile.set_preference (" browser.download.manager.showWhenSta rting ", False) profile.set_preference (" browser.download.dir ", 'C: \ Пользователи \ Surabhil \ Desktop \ Downloads ') profile.set_preference ("browser.helperApps.neverAsk.saveToDi sk", "application/xls; text/csv") 'Mine - это файл xls. Также, когда я проверял: config браузера, я все еще мог видеть browser.download.folderList как 1 –

+1

Также, если мое понимание верное, Selenium 3 примет профиль по умолчанию в качестве марионетки. Именно поэтому он не принимает профиль драйвера firefox? –

+0

@SaurabhGaur Вы уверены, что он работает с Selenium 3.0.1 и Geckodriver 0.11.1? Я использовал FirefoxOptions для создания драйвера, но настройки игнорируются. –