码迷,mamicode.com
首页 > Web开发 > 详细

WebDriver(Selenium2) 根据新窗口title切换窗口

时间:2016-05-11 12:56:44      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

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。

WebDriver(Selenium2) 根据新窗口title切换窗口

标签:

原文地址:http://www.cnblogs.com/donaldlee2008/p/5481315.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!