在 Selenium 4 Firefox 中下载 PDF 会打开一个新选项卡

问题描述 投票:0回答:1

我正在尝试将 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);

欢迎任何帮助。 谢谢你。

java selenium-webdriver automated-tests selenium-firefoxdriver
1个回答
0
投票

您还应该添加以下首选项:

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);
© www.soinside.com 2019 - 2024. All rights reserved.