我正在使用selenium和testng进行自动化。我有ubuntu操作系统。我需要下载pdf文件并验证其内容。我点击一个按钮,打开一个新窗口,其内容的视图就像是pdf。 (这是什么类型的页面?我的意思是当我保存它时,它保存为pdf但它的网址是网页的网址)。然后我点击新打开的窗口上的下载,然后弹出窗口。我想知道如何处理这个问题?
我搜索了这个,现在这是我的代码:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.helperapps.neverAsk.saveToDisk" , "application/octet-stream;application/pdf");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir",System.getProperty("user.dir"));
driver =new FirefoxDriver(profile);
谢谢:)
答案 0 :(得分:0)
我想当你点击按钮时,你会看到pdf预览。在Chrome中,您可以使用该插件实现此目的。 要处理弹出窗口,请参阅以下代码段。 创建驱动程序时,请保存适当的处理程序
driver = new FirefoxDriver(profile);
driver.get(uri);
MainWinHandler = driver.getWindowHandle();
然后为了切换:
for(String winHandle : driver.getWindowHandles()){
if(!winHandle.equals(MainWinHandler))
driver.switchTo().window(winHandle);
}
切换后,您必须能够使用WebDriver进行管理。
答案 1 :(得分:0)
我只需要添加此依赖项。
profile.setPreference("pref.downloads.disable_button.edit_actions", true);