WebDriver(Selenium2) 根据新窗口title切换窗口
在webdriver官方的api中,切换窗口的方法提供的参数是nameOrHandle。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;} elsecontinue;}}} catch (NoSuchWindowException e) {System.out.println("Window: " + windowTitle+ " cound not found!", e.fillInStackTrace());flag = false;}return flag;}
首先获取当前driver驱动的所有窗口的handle然后进行比对筛选,如果窗口的title符合预期,则切换,并返回true,反之则返回false。