【发布时间】:2018-10-28 21:43:52
【问题描述】:
我正在使用 Selenium 和 Firefox 进行自动化测试,我需要自动下载文件。这是我用来设置代码的两个链接。
Set Firefox profile to download files automatically using Selenium and Java
总结文章,代码应该是这样的:
FirefoxOptions options = new FirefoxOptions();
options.setPreference("browser.download.folderList", 2);
options.setPreference("browser.download.dir", "C:\\Windows\\temp");
options.setPreference("browser.download.useDownloadDir", true);
options.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf");
options.setPreference("pdfjs.disabled", true); // disable the built-in PDF viewer
WebDriver driver = new FirefoxDriver(options);
当我运行测试时,自动下载失败。我签入了 about:config 并且设置已按照代码的预期进行了更改。 (about:config screenshot)
此外,在该驱动程序实例中,如果我更改任何设置然后重新应用相同的设置,自动下载将起作用。是否存在我缺少的 webdriver 设置或步骤,然后应用新设置?
这是我测试过的 Selenium、Firefox 和 GeckoDriver 版本:
硒:v3.12.0
火狐:59.0.3、60.0.1
GeckoDriver:v0.19.0-win64、v0.20.0-win64、v0.21.0-win64
【问题讨论】:
-
你遇到了什么错误?
-
代码编译后没有错误信息。问题是该设置在视觉上看起来已更改,但浏览器中的网络驱动程序并未应用该设置。
-
感谢您的链接。一个新的进展是,当“pdfjs.disabled”为真时,出于某种原因,它会从应用程序设置中完全删除 PDF。
-
它应该是什么样子的:support.mozilla.org/en-US/kb/… 我的 webdriver 实例中的首选项丢失了。
标签: c# selenium geckodriver