我这里有一个严重的问题。 请在下面找到我的场景:
- 登录
- 点击链接
- 点击后,会打开一个新选项卡
我已使用以下代码将焦点切换到新打开的选项卡
ArrayList<String> newTab = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(newTab.get(1));
问题是,当我尝试单击新打开的选项卡上的 Excel 下载链接时,会出现“打开方式”弹出窗口,并且我的自动化失败。即使添加了以下首选项之后
firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile",
"text/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"text/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
请问您能尽快提出一个可行的解决方案吗?
谢谢
最佳答案
请在您的 Firefox 的(about:config) 部分中手动设置这些首选项,访问该应用程序,单击链接并查看文件是否在没有任何提示的情况下下载。这将帮助您识别自动化问题。
我尝试在我的 Firefox 中设置这些首选项,但它仍然提示下载窗口。仅在选中“从现在开始自动对此类文件执行此操作”后,我才能在没有提示的情况下下载,这会更新配置文件目录中的 mimeTypes.rdf
文件。因此,要通过自动化完成此工作,您可能需要将包含 mimeTypes.rdf
的自定义 Firefox 配置文件与您的 TestSuite 捆绑在一起。
以下是从给定配置文件目录创建 FirefoxProfile 的代码:
FirefoxProfile profile = new FirefoxProfile(new File("<PATH_TO_FIREFOX_PROFILE_DIRECTORY_THAT_WORKS_WHEN_TESTED_MANUALLY>");
WebDriver driver = new FirefoxDriver(profile);
关于java - Selenium:-browser.helperApps.neverAsk.openFile 和 savetodisk 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38307446/