发布于 2017-11-09 04:23:58 | 174 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Java设计模式,程序狗速度看过来!

Java程序设计语言

java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。


本文主要介绍java selenium 操作弹出窗口,这里实例讲解操作弹出窗口详细流程,并附示例代码,有需要的小伙伴可以参考下

selenium 中如何处理弹出窗口

阅读目录

  1. 原理
  2. 测试页面的HTML
  3. Java 代码

原理

在代码里, 通过         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());
  }

以上就是关于Java selenium 操作弹窗窗口的示例,后续继续整理相关资料,谢谢大家对本站的支持!



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务