【问题标题】:Geckodriver Selenium Auto Download PDFsGeckodriver Selenium 自动下载 PDF
【发布时间】:2019-01-23 17:32:09
【问题描述】:

我正在尝试在 geckodriver/Firefox 中自动下载 .pdf 文件。我搜索了 stackoverflow 和其他资源,并认为下面的代码应该可以工作:

profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", 'C:\\Users\\xyz\\Downloads\\')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf")
profile.set_preference("pref.downloads.disable_button.edit_actions", True)
profile.set_preference("browser.helperApps.neverAsk.openFile", "application/octet-stream,application/pdf,application/x-pdf,application/vnd.pdf")
browser = webdriver.Firefox(firefox_profile=profile)

我也试过了:

profile.set_preference("pdfjs.disabled", True)

但是,Firefox 不会自动下载 .pdf(即使它是 http req 中的 application/pdf)。另外,在我在 Firefox 中加载该配置文件后,在“选项/应用程序”下,PDF 格式仍然显示“在 Firefox 中预览”而不是“保存文件”......我做错了什么?

【问题讨论】:

    标签: selenium geckodriver


    【解决方案1】:

    在 Firefox 中禁用打开和下载 pdf:

    FirefoxOptions options = new FirefoxOptions();
    options.addPreference("browser.download.folderList", 2);
    options.addPreference("browser.download.dir", pathToDownload);
    options.addPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
    options.addPreference("pdfjs.enabledCache.state",false); 
    WebDriver driver = new FirefoxDriver(options);
    

    【讨论】:

    • 我添加了我没有的首选项,不幸的是它仍然不起作用
    • 试试 profile.setPreference("browser.helperApps.alwaysAsk.force", false);
    • alwaysAsk.force 在上面的首选项中,但它不起作用。此外,内容类型是 application/pdf 所以这不是问题的原因
    【解决方案2】:

    尝试将以下首选项也添加到现有列表中:

    fp.setPreference("pdfjs.enabledCache.state", false);
    fp.setPreference("browser.helperApps.neverAsk.openFile","application/pdf");
    

    【讨论】:

      猜你喜欢
      • 2015-08-07
      • 2021-11-16
      • 2019-01-11
      • 2016-02-17
      • 2021-07-26
      • 1970-01-01
      • 2022-06-22
      • 2015-01-09
      • 1970-01-01
      相关资源
      最近更新 更多