import java.io.File;
import java.util.Iterator;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/*
* 如何得到新打开的窗口
*/
public class PopupWindowTest {
public static void main(String[] args) {
WebDriver dr = new ChromeDriver();
File file = new File("learning/test.html");
String filePath = "file:///" + file.getAbsolutePath();
System.out.println(filePath);
dr.get(filePath);
dr.findElement(By.id("51")).click();
// 得到当前窗口句柄
String currentWindow = dr.getWindowHandle();
Set<String> handles = dr.getWindowHandles();
Iterator<String> it = handles.iterator();
while (it.hasNext()) {
String tmp = it.next();
if (currentWindow.equals(tmp)) // currentWindow == tmp 返回 false 字符串值比较用 equals, 字符串 == 比较的是地址
continue;
WebDriver window = dr.switchTo().window(tmp);
System.out.println("title = " + window.getTitle() + " , url = "
+ window.getCurrentUrl());
}
/*
* while (it.hasNext()) { if (currentWindow == it.next()) continue;
*
* WebDriver window = dr.switchTo().window(it.next());
* System.out.println("title = " + window.getTitle() + " , url = " +
* window.getCurrentUrl()); }
*/
dr.quit();
}
}
原文:http://www.cnblogs.com/Roger1227/p/3833688.html