zoukankan      html  css  js  c++  java
  • WebDriver(Selenium2) 根据新窗口title切换窗口

    http://uniquepig.iteye.com/blog/1559321

    在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle。

    引用
    http://uniquepig.iteye.com/blog/1559321
    WebDriver window(java.lang.String nameOrHandle) 
              Switch the focus of future commands for this driver to the window with the given name/handle.


    但是在实际运用中,更多的可能是需要根据新窗口的title去切换窗口。因此封装了如下方法:

    http://uniquepig.iteye.com/blog/1559321

    	public boolean switchToWindow(WebDriver driver,String windowTitle){
    		boolean flag = false;
    		try {
    			String currentHandle = driver.getWindowHandle();
    			Set<String> handles = driver.getWindowHandles();
    			for (String s : handles) {
    				if (s.equals(currentHandle))
    					continue;
    				else {
    					driver.switchTo().window(s);
    					if (driver.getTitle().contains(windowTitle)) {
    						flag = true;
    						System.out.println("Switch to window: "
    								+ windowTitle + " successfully!");
    						break;
    					} else
    						continue;
    				}
    			}
    		} catch (NoSuchWindowException e) {
    			System.out.println("Window: " + windowTitle
    					+ " cound not found!", e.fillInStackTrace());
    			flag = false;
    		}
    		return flag;
    	}
    

      首先获取当前driver驱动的所有窗口的handle然后进行比对筛选,如果窗口的title符合预期,则切换,并返回true,反之则返回false。

  • 相关阅读:
    Cocos2dx-Android屏幕适配方案
    Cocos2dx-Mac下的环境配置
    Cocos2dx-C++和Lua数据通讯
    Cocos2dx-Lua与C++混合使用
    安装宝塔面板
    nginx配置ssl安全证书
    在nginx上运行spring
    spring在服务器上的启动和关闭jar包
    idea常用插件
    maven打包war
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5481315.html
Copyright © 2011-2022 走看看