欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java selenium 操作弹出窗口示例代码

程序员文章站 2024-03-13 18:50:15
selenium 中如何处理弹出窗口 阅读目录 原理 测试页面的html java 代码 原理 在代码里, 通过  ...

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 操作弹窗窗口的示例,后续继续整理相关资料,谢谢大家对本站的支持!