允许Firefox使用Selenium自动下载文件。 这可以用PhantomJS来完成吗?

fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.helperApps.alwaysAsk.force", False) fp.set_preference("browser.download.manager.showWhenStarting", False) fp.set_preference("browser.download.manager.useWindow", False); fp.set_preference("browser.download.manager.alertOnEXEOpen", False) fp.set_preference("browser.download.folderList", 2); fp.set_preference("browser.download.dir", '/home/ubuntu'); fp.set_preference("browser.download.manager.alertOnEXEOpen", False); fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv,application/vnd.ms-excel, application/force-download,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/msword, application/XLS;text/csv, application/XLSX;text/csv, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream") fp.set_preference("browser.download.manager.showWhenStarting", False); fp.set_preference("browser.download.manager.focusWhenStarting", False); fp.set_preference("browser.download.useDownloadDir", True); fp.set_preference("browser.helperApps.alwaysAsk.force", False); fp.set_preference("browser.download.manager.alertOnEXEOpen", False); fp.set_preference("browser.download.manager.closeWhenDone", True); fp.set_preference("browser.download.manager.showAlertOnComplete", False); fp.set_preference("browser.download.manager.useWindow", False); fp.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting", False); fp.set_preference("pdfjs.disabled", True); driver = webdriver.Firefox(firefox_profile=fp) 

这是我用Selenium保存文件的代码。 它适用于其他文件,但不适用于Excel。 正如你可以看到enter code here ,我已经包含了一些Excel文件格式,但这些也没有工作。

另外,PhantomJs有这个能力吗? 我已经search,但没有发现任何确认PhantomJs的这种能力。

感谢你的协助。

您可以在MIMEtypes中使用通配符,这可以用来匹配所有的Excel文件和所有其他文件。

 fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv, application/*") 

PhantomJS无法完成文件下载: https : //github.com/ariya/phantomjs/issues/10052

感谢您的答复。

我尝试使用文本/ CSV,但也没有工作。 我最终做的是安装监视networkingstream量和活动的httpFox。 使用httpFox,我可以放大确切的MIMEtypes,即:fp.set_preference(“browser.helperApps.neverAsk.saveToDisk”,“application / msexcel,text / csv”)

我尝试了几种在互联网上find的Excel MIME-TYPES,但是除了我用过的那个,其他的都没有工作。

Ť