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。

  • 相关阅读:
    C# 动态加载卸载 DLL
    C# 判断文件编码
    win10 uwp 如何拖动一个TextBlock的文字到另一个TextBlock
    C# TextBlock 上标
    PHP curl_getinfo函数
    PHP curl_file_create函数
    PHP curl_errno函数
    PHP curl_error函数
    PHP curl_escape函数
    PostgreSQL Schema
  • 原文地址:https://www.cnblogs.com/donaldlee2008/p/5481315.html
Copyright © 2011-2022 走看看