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中使用pyhook实现键盘监控的例子
Jul 18 Python
基于python的Tkinter实现一个简易计算器
Dec 31 Python
Python实现完整的事务操作示例
Jun 20 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
python列表返回重复数据的下标
Feb 10 Python
python 如何利用argparse解析命令行参数
Sep 11 Python
Python使用xpath实现图片爬取
Sep 16 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
jupyter notebook指定启动目录的方法
Mar 02 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的zip解压缩类pclzip使用示例
2014/03/14 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
JavaScript 参考教程
2006/12/29 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
百联网上商城:i百联
2017/01/28 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
项目开发计划书
2014/01/09 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
房地产推广策划方案
2014/05/19 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
材料员岗位职责
2015/02/10 职场文书
南京大屠杀观后感
2015/06/02 职场文书
python 多态 协议 鸭子类型详解
2021/11/27 Python
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js