方法一 利用for循环来实现窗口之间的切换

/*页面A切换到页面B,点击超链接A,关闭页面A;如果页面B要切换到C,点击超链接C,关闭页面B*/
WebElement A = driver.findElement(By.linkText("A"));//超链接A
A.click();
Thread.sleep(1000);
String handle = driver.getWindowHandle();//获取当前页面的句柄
for(String handles : driver.getWindowHandles()){//获取所有页面的句柄,并循环判断是不是当前的句柄
if(!handles.equals(handle)){//和当前driver不相等,关闭当前页面,切换到第二个页面
driver.close();//关闭当前页面
driver.switchTo().window(handles);//就调用切换窗口的方法,切换到第二个窗口
}
}

方法二  1、获取所有窗口的句柄并放入到set集合中

2、把set集合放入到list对象中

3、通过list数组的索引使用switchTo()实现切换

Set window_handles = driver.getWindowHandles();//获取所有页面的句柄
List list = new ArrayList(window_handles);//把set集合放入List对象
driver.switchTo().window(list.get(1));//切换到弹出的新窗口
Thread.sleep(1000);
String title = driver.getTitle();//获取当前窗口的title
System.out.println("已切换到"+title);
String url = driver.getCurrentUrl();//获取新窗口的url
System.out.println(url);
driver.close();//关闭当前界面
driver.switchTo().window(list.get(0));//返回至原界面