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。

  • 相关阅读:
    java学习55天2020/8/29
    java学习51天2020/8/25
    java学习55天2020/8/31
    java学习49天2020/8/23
    java学习52天2020/8/26
    java学习48天2020/8/22
    2020.12.05
    2020.12.04
    2020.12.07
    2020.12.03
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5481315.html
Copyright © 2011-2022 走看看