Selenium Webdriver:处理弹出窗口以保存文件

时间:2015-02-27 07:47:36

标签: ubuntu pdf selenium

我正在使用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);

谢谢:)

2 个答案:

答案 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);