Selenium常用操作汇总二——如何得到弹出窗口
2024-10-19 04:25:29
在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/
最新文章
- QImage::drawRect 和 fillRect在处理大面积区域时代价高昂
- vector<; vector<;int>; >;类似于二维数组
- SQL 两种表复制语句
- HTML Meta标签中的viewport属性含义及设置
- 002_JS基础_JavaScript基础语法01
- [python][cpp]对浮点数进行n位翻转
- JS 简单工厂模式,工厂模式(二)
- 在命令行启动vscode
- 遇到的难题之一 —— js方法toFixd()
- HTML 实例学习(基础)
- cetus系列~ 继续分析
- Excel VBA保护工作表
- BZOJ3481 DZY Loves Math III(数论+Pollard_Rho)
- [HNOI 2013]切糕
- Arcgis Runtime for andriod 100 加载TPK
- 给iOS开发新手送点福利,简述UIAlertView的属性和用法
- MySQL数据库Query性能定位
- GO学习笔记 - 用";:=";实现短声明变量!
- Okhttp实用封装
- HDU 5877 2016大连网络赛 Weak Pair(树状数组,线段树,动态开点,启发式合并,可持久化线段树)
热门文章
- Atitit 快速开发的推荐技术标准化 规范 大原则
- android 覆盖安装问题
- Machine Learning Books Suggested by Michael I. Jordan from Berkeley
- 一个更好的C++序列化/反序列化库Kapok
- matlab问题集总
- Android 编程下 Eclipse 恢复被删除的文件
- [MyBean-说明书]关于插件的单件模式(singleton),插件的共享模式
- Windows下GUI编程——窗口
- Python实例获取mp3文件的tag信息
- 不要问我有多懒,写个脚本跑django