selenium 多窗口切换的实现(windows)


Posted in Python onJanuary 18, 2020

在web应用中,常常会遇见点击某个链接会弹出一个新的窗口,或者是相互关联的web应用 ,这样要去操作新窗口中的元素,这时就需要主机切换到新窗口进行操作。。WebDriver 提供了switchTo().window()方法可以实现在不同的窗口之间切换。

以下代码是以新浪网为实例。通过获取句柄切换到指定窗口,并关闭窗口。当然切换到指定窗口,也可以通过元素定位等方法对元素进行操作。

getWindowHandle():获得当前窗口句柄。

getWindowHandles():返回的所有窗口的句柄到当前会话。

switchTo().window():用于切换到相应的窗口,与上一节的switchTo().frame()类似,前者用于不同窗口的切换,后者用于不同表单之间的切换。 

public static void main(String[] args) throws InterruptedException {

System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
ChromeOptions Options = new ChromeOptions();
Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
WebDriver driver = new ChromeDriver(Options);
driver.manage().window().maximize();
// 窗口最大化
driver.get("http://www.sina.com.cn/");
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
// 设置元素等待时间 ,隐式等待
String sreachHand = driver.getWindowHandle();
// 获取当前窗口的句柄
driver.findElement(By.linkText("体育")).click();
// 打开新浪官网上的体育链接
driver.findElement(By.linkText("娱乐")).click();
// 打开新浪官网上的娱乐链接
java.util.Set<String> Handles = driver.getWindowHandles();
System.out.println(Handles.size() + "集合长度");
// 获取所有窗口的句柄并将句柄放在Set集合中。
// 以下判断是否是新浪网首页,如果是则关闭新浪网首页。
for (String i : Handles) {
if (i.equals(sreachHand)) {
driver.switchTo().window(i);
Thread.sleep(5000);
driver.close();

}
}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作xml文件示例
Apr 07 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
举例讲解Python中的身份运算符的使用方法
Oct 13 Python
python中的lambda表达式用法详解
Jun 22 Python
wxpython中Textctrl回车事件无效的解决方法
Jul 21 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
Python类的继承用法示例
Jan 31 Python
django一对多模型以及如何在前端实现详解
Jul 24 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
pandas取dataframe特定行列的实现方法
May 24 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 #Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 #Python
Pytorch之finetune使用详解
Jan 18 #Python
pytorch 修改预训练model实例
Jan 18 #Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 #Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 #Python
Python实现点云投影到平面显示
Jan 18 #Python
You might like
PHP实时显示输出
2008/10/02 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
php操作mongoDB实例分析
2014/12/29 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
Python中标准库OS的常用方法总结大全
2017/07/19 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
django实现日志按日期分割
2020/05/21 Python
基于python实现复制文件并重命名
2020/09/16 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
探索HTML5本地存储功能运用技巧
2016/03/02 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
承诺书格式范文
2014/06/03 职场文书
解放思想演讲稿
2014/09/11 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
灵山大佛导游词
2015/02/04 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
Python 匹配文本并在其上一行追加文本
2022/05/11 Python