Selenium Webdriver:处理弹出窗口以保存文件
Selenium Webdriver: Handling Pop-up to save a file
我正在使用 selenium 和 testng 进行自动化。我有 ubuntu OS。我需要下载一个 pdf 文件并验证其内容。我单击一个按钮,一个新的 window 打开,其内容的视图类似于 pdf。 (那种页面叫什么?我的意思是当我保存它时,它保存为 pdf 但它的 url 是网页的页面)。然后我在新打开的 window 上点击下载,然后弹出一个窗口。我想知道如何处理这个?
我对此进行了搜索,现在这是我的代码:
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);
谢谢 :)
我想当你点击一个按钮时你会看到 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 对其进行管理。
我只需要添加这个依赖项。
profile.setPreference("pref.downloads.disable_button.edit_actions", true);
我正在使用 selenium 和 testng 进行自动化。我有 ubuntu OS。我需要下载一个 pdf 文件并验证其内容。我单击一个按钮,一个新的 window 打开,其内容的视图类似于 pdf。 (那种页面叫什么?我的意思是当我保存它时,它保存为 pdf 但它的 url 是网页的页面)。然后我在新打开的 window 上点击下载,然后弹出一个窗口。我想知道如何处理这个?
我对此进行了搜索,现在这是我的代码:
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);
谢谢 :)
我想当你点击一个按钮时你会看到 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 对其进行管理。
我只需要添加这个依赖项。
profile.setPreference("pref.downloads.disable_button.edit_actions", true);