这里有新鲜出炉的Java并发编程示例,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本文主要介绍java selenium 操作弹出窗口,这里实例讲解操作弹出窗口详细流程,并附示例代码,有需要的小伙伴可以参考下
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);
- // 获取当前窗口的句柄
- 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());
- }
来源: http://www.phperz.com/article/17/1109/360236.html