我正在尝试将 Selenium 项目的版本从 3 更改为 4。我面临的问题是,使用 Firefox 下载 PDF 后,该 PDF 会在新选项卡中打开,我不希望出现这种情况。 我已经设置了应该处理这个问题的功能,但它仍然不起作用。 语言是Java,我使用的是Selenium 4.12.0,firefox版本是116。
Firefox ffop = new FirefoxOptions();
ffop.addPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
ffop.addPreference("pdfjs.disabled", true);
ffop.addPreference("browser.download.panel.shown", false);
ffop.addPreference("useAutomationExtension", false);
ffop.addPreference( "plugins.always_open_pdf_externally", false);
ffop.addPreference("pdfjs.firstRun", false);
ffop.addPreference("plugin.disable_full_page_plugin_for_types", "application/pdf,application/vnd.adobe.xfdf,application/vnd.fdf,application/vnd.adobe.xdp+xml");
ffop.addPreference("plugin.scan.Acrobat", "99.0");
ffop.addPreference("plugin.scan.plid.all", false);
我传递的选项如下:
FirefoxOptions firefoxOptions = new FirefoxOptions();
static Map<String, Object> capabilities = new HashMap<>();
capabilities.put("moz:firefoxOptions", ffop);
firefoxOptions.setCapability("cloud:options",capabilities);
remoteWebDriver = new RemoteWebDriver(url, firefoxOptions);
欢迎任何帮助。 谢谢你。
您还应该添加以下首选项:
ffop.addPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf, application/zip, application/octet-stream,application/, text/octet-stream, application/x-gzip, application/x-tar, application/xml, text/plain");
ffop.addPreference("browser.download.folderList", 2);
ffop.addPreference("browser.helperApps.alwaysAsk.force", false);
ffop.addPreference("browser.download.manager.showWhenStarting", false);