2012-08-27 11 views
5

Io sto raschiando sul web con il selenio e ogni volta che provo a scaricare i file il download/salvataggio di firefox come file si apre comunque, anche se applico profile.set_preference('browser.helperApps.neverAsk.saveToDisk', "application/csv"), non funziona ancora, ho provato everyt .csv MIME correlato ma non funziona, è possibile fare clic sul pulsante di opzione save as e quindi fare clic su ok nella finestra di dialogo o disattivarlo completamente.Disabilita Firefox Salva come Dialogo-selenio

+1

Hai anche impostare 'browser = webdriver.Firefox (firefox_profile = profile) 'come [suggerito qui] (http://stackoverflow.com/questions/1176348/access-to-file-download-dialog-in-firefox/7983487#7983487)? – unutbu

+0

è un profilo firefox di sistema che hai modificato? a seconda della versione del selenio, potrebbe utilizzare il proprio profilo indipendente dal sistema. si consiglia di prendere in considerazione la creazione di un profilo personalizzato per questo e di specificare il percorso del profilo utilizzando il flag -firefoxProfileTemplate quando si avvia il selenio tramite la riga di comando –

+0

Sì, l'ho già provato. –

risposta

3

si dovrebbe fare due cose, primo set questi tre preferenze come segue (questo è in Java ma credo che si riesce a tradurre che a python :-):

profile.setPreference("browser.download.dir", "c:/yourDownloadDir"); 
profile.setPreference("browser.download.folderList", 2); 
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/csv, text/csv"); 

secondo luogo, è necessario assicurarsi che il il file di download ha il tipo mime desiderato. Per fare ciò, è possibile utilizzare gli strumenti di sviluppo Web e ispezionare il download.

EDIT:

Per scoprire il tipo MIME aperto Chrome, premi Ctrl + Maiusc + I (Cmd + Alt + I su Mac OS) modifica alla scheda 'Rete' e fare clic su il tuo link per il download. Si dovrebbe vedere qualcosa di simile:

Chrome developer tools mime type

+0

L'ho già provato, quando lo scarico manualmente dice che si tratta di un valore separato da Microsoft Excell Comma, tuttavia il tipo MIME non viene visualizzato nelle applicazioni-opzioni del browser. Questo è il collegamento ipertestuale javascript ' href =" javascript: download_as ('CSV'); ' –

+1

C'è un modo per consentire a tutto di scaricare in selenio? –

+0

@ user1582983 Ho aggiunto una spiegazione su come trovare il tipo MIME. –

1

solo una risposta supplementare che potrebbe aiutare qualcuno, come commenti la risposta accettata mi ha messo sulla strada giusta (grazie!). Un altro tipo MIME di CSV si potrebbe avere a che fare con è application/x-csv - che è stato il mio caso e una volta ho guardato in su nella scheda di rete del browser, sono diventato un uomo più felice :)

+0

Non ha funzionato per me, ma il fatto che tu abbia condiviso una soluzione che ha funzionato per te 4 anni dopo che la domanda è stata fatta vale un IMO in aumento. –