【问题标题】:How to save XLSX file?如何保存 XLSX 文件?
【发布时间】:2015-11-05 19:55:09
【问题描述】:

我试过了:

setPreference("browser.helperApps.neverAsk.saveToDisk","application/xls;text/csv");  

.

setPreference("browser.helperApps.alwaysAsk.force", false);  

.

profile.set_preference("browser.helperApps.neverAsk.saveToDisk",application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")  

但 Firefox 总是询问我是否要打开文件。它适用于 XLS 文件。

有什么想法吗?

【问题讨论】:

  • 删除了我的答案,因为我刚刚意识到 mime 类型实际上是 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 你确实有。
  • 谢谢,你的建议确实有道理,我会尝试使用一些流读取文件,而不需要点击,从 url
  • 这绝对是最好的方法。
  • 知道为什么下载不适用于 xlsx 文件仍然很有趣。

标签: excel selenium selenium-webdriver download xlsx


【解决方案1】:

我也有类似的问题。

这是我的工作浏览器配置文件配置行。

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.helperApps.alwaysAsk.force", False);
profile.set_preference("browser.download.dir", 'Desktop')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

driver = webdriver.Firefox(firefox_profile=profile)

在我的设置中,浏览器通常会在页面加载时提示用户保存或下载。使用此设置,它只会自动下载。要记住的一件事是您如何创建电子表格。在我的例子中,PHPExcel_IOFactory 库使用这些行将其创建为 openxmlformats-officedocument.spreadsheetml.sheet。

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

PHPExcel_IOFactory::createWriter($new_excel_object, 'Excel2007');

因此,您尝试下载的文件类型可能与预期的类型不匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多