java selenium (十二) 操作弹出窗口
生活随笔
收集整理的這篇文章主要介紹了
java selenium (十二) 操作弹出窗口
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
selenium 中如何處理彈出窗口
?
?
原理
在代碼里, 通過 ?? ???? Set<String> allWindowsId = driver.getWindowHandles();
來獲取到所有彈出瀏覽器的句柄,?? 然后遍歷,? 使用swithcto.window(newwindow_handle)方法。 就可以定位到新的窗口
?
測試頁面的HTML
<html> <head><title>常見web ui元素操作, 及API使用</title><script type="text/javascript">function open_win() {window.open("http://www.cnblogs.com")}</script> </head> <body><form><input type=button value="打開窗口" onclick="open_win()"></form></div> </body> </html>?
Java 代碼
public static void testMultipleWindowsTitle(WebDriver driver) throws Exception{String url="E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";driver.get(url);// 獲取當(dāng)前窗口的句柄String parentWindowId = driver.getWindowHandle();System.out.println("driver.getTitle(): " + driver.getTitle());WebElement button = driver.findElement(By.xpath("//input[@value='打開窗口']"));button.click();Set<String> allWindowsId = driver.getWindowHandles();// 獲取所有的打開窗口的句柄for (String windowId : allWindowsId) {if (driver.switchTo().window(windowId).getTitle().contains("博客園")) {driver.switchTo().window(windowId);break;}}System.out.println("driver.getTitle(): " + driver.getTitle());// 再次切換回原來的父窗口driver.switchTo().window(parentWindowId);System.out.println("parentWindowId: " + driver.getTitle());}?
?
?
總結(jié)
以上是生活随笔為你收集整理的java selenium (十二) 操作弹出窗口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016年3月16日作业
- 下一篇: tomcat日志详情