2017-01-24 6 views
0

J'essaie de définir les préférences sur mon navigateur Firefox pour ne jamais demander à enregistrer sur le disque lors du téléchargement d'un fichier .eml.Python: Comment obtenir les préférences Firefox pour neverask.saveToDisk pour un fichier .eml?

def setUp(self): 
    profile = webdriver.FirefoxProfile() 
    profile.set_preference('browser.download.folderList', 2) 
    profile.set_preference('browser.download.manager.showWhenStarting', False) 
    profile.set_preference('browser.download.dir', os.path.join(os.path.expanduser("~"), "Downloads\\")) 
    profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv,message/rfc822') 
    self.driver = webdriver.Firefox(profile) 
    self.base_url = baseurl 
    self.verificationErrors = [] 
    self.accept_next_alert = True 
    self.driver.implicitly_wait(3) 

Avec ce code, je suis en mesure de télécharger un fichier .csv sans apparaître la pop-up SaveToDisk dans Firefox, mais cela ne fonctionne pas avec .eml malgré le 'message/rfc822' set type MIME.

Une aide peut-elle vous expliquer si j'utilise un type MIME incorrect pour définir des préférences pour .emls? Ou y a-t-il autre chose que je dois faire pour télécharger .eml sans afficher de pop-ups?

Répondre

0

Semble que vous avez droit content type. Pourtant, vous pouvez vérifier le type de contenu et permet alors de voir là

from mimetypes import MimeTypes 
import urllib 
mime = MimeTypes() 
url = urllib.pathname2url('path\to\filesample.eml') 
mime_type = mime.guess_type(url) 
print mime_type 
+0

Salut, Merci pour la réponse. Après l'exécution de votre code ci-dessus dans la console avec le .eml le retour, je reçois est: ('message/rfc822', None) semble être le même type Mime J'utilise. – Golshy

+0

c'est intéressant ... moi aussi je ne vois pas de problème .. peut-être voulez-vous trouver le type de contenu du serveur lui-même .. qui pourrait être différent – Shijo