在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id、name的时候。当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?tid=791 。在selenium webdriver中得到新开窗口相对简单的多,它无关新开窗口的id、name等属性。以下面的html为例:

<span style="white-space: normal; #ffffff;">test.html</span>  

<html>  

    <head><title>Test Popup Window</title></head>  

    <body>  

        <a id = "51" href = "http://www.51.com/" target = "_blank">Let's go!</a>  

    </body>  

</html>  

下面的代码演示了如何去得到弹出的新窗口

import java.util.Iterator;
import java.util.Set; import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver; public class PopupWindowTest { /**
* @author gongjf
*/
public static void main(String[] args) {
System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");
WebDriver dr = new FirefoxDriver();
String url ="\\Your\\Path\\to\\main.html";
dr.get(url);
dr.findElement(By.id("51")).click();
//得到当前窗口的句柄
String currentWindow = dr.getWindowHandle();
//得到所有窗口的句柄
Set<String> handles = dr.getWindowHandles();
Iterator<String> it = handles.iterator();
while(it.hasNext()){
String handle = it.next();
if(currentWindow.equals(handle)) continue;
WebDriver window = dr.switchTo().window(handle);
System.out.println("title,url = "+window.getTitle()+","+window.getCurrentUrl());
}
} }

输出结果

title,url = 51.com 真人配对玩游戏,http://www.51.com/  

最新文章

  1. QImage::drawRect 和 fillRect在处理大面积区域时代价高昂
  2. vector&lt; vector&lt;int&gt; &gt;类似于二维数组
  3. SQL 两种表复制语句
  4. HTML Meta标签中的viewport属性含义及设置
  5. 002_JS基础_JavaScript基础语法01
  6. [python][cpp]对浮点数进行n位翻转
  7. JS 简单工厂模式,工厂模式(二)
  8. 在命令行启动vscode
  9. 遇到的难题之一 —— js方法toFixd()
  10. HTML 实例学习(基础)
  11. cetus系列~ 继续分析
  12. Excel VBA保护工作表
  13. BZOJ3481 DZY Loves Math III(数论+Pollard_Rho)
  14. [HNOI 2013]切糕
  15. Arcgis Runtime for andriod 100 加载TPK
  16. 给iOS开发新手送点福利,简述UIAlertView的属性和用法
  17. MySQL数据库Query性能定位
  18. GO学习笔记 - 用&quot;:=&quot;实现短声明变量!
  19. Okhttp实用封装
  20. HDU 5877 2016大连网络赛 Weak Pair(树状数组,线段树,动态开点,启发式合并,可持久化线段树)

热门文章

  1. Atitit 快速开发的推荐技术标准化 规范 大原则
  2. android 覆盖安装问题
  3. Machine Learning Books Suggested by Michael I. Jordan from Berkeley
  4. 一个更好的C++序列化/反序列化库Kapok
  5. matlab问题集总
  6. Android 编程下 Eclipse 恢复被删除的文件
  7. [MyBean-说明书]关于插件的单件模式(singleton),插件的共享模式
  8. Windows下GUI编程——窗口
  9. Python实例获取mp3文件的tag信息
  10. 不要问我有多懒,写个脚本跑django