2017-08-10 3 views
0

J'essaie d'automatiser un téléchargement en utilisant des éclats qui invitent une boîte de dialogue lors de son lancement. Pour contourner cela, je veux définir les préférences de Firefox pour ne pas ouvrir la boîte lors du téléchargement d'un pdf. J'ai suivi ce guide github: https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/7017 qui semblait répondre à mes préoccupations. Mon problème est maintenant que je ne peux pas le faire fonctionner. Je ne suis pas sûr de l'origine du problème, mais il ne semble pas tenir compte des préférences.Définir les préférences de Firefox avec Splinter

Voici mon code:

from splinter import Browser 
prof = {} 
prof['browser.download.manager.showWhenStarting'] = 'false' 
prof['browser.helperApps.alwaysAsk.force'] = 'false' 
prof['browser.download.dir'] = 'C:\Users\craab\Desktop\Notes\Confluence_Backup' 
prof['browser.download.folderList'] = 2 
prof['browser.helperApps.neverAsk.saveToDisk'] = 'application/pdf' 
prof['browser.download.manager.useWindow'] = 'false' 
prof['browser.helperApps.useWindow'] = 'false' 
prof['browser.helperApps.showAlertonComplete'] = 'false' 
prof['browser.helperApps.alertOnEXEOpen'] = 'false' 
prof['browser.download.manager.focusWhenStarting']= 'false' 
browser = Browser('firefox',profile_preferences=prof) 
browser.visit('https://companywiki.com') 
browser.find_by_id('login-link').click() 
browser.fill('os_username', 'user') 
browser.fill('os_password', 'pass') 
browser.find_by_name('login').click() 
browser.visit('https://pageonwiki.com') 
browser.find_by_xpath('//*[@id="navigation"]/ul/li[4]').click() 
browser.find_by_id('action-export-pdf-link').click() 

Répondre

0

j'ai pu atteindre le même objectif grâce aux économies toutes les préférences du navigateur Firefox, puis appeler mon profil Firefox

browser = Browser('firefox', profile=r'C:\Users\me\AppData\Roaming\Mozilla\Firefox\Profiles\0lot9hun.default')