在一个页面上点击一个链接之后,并不是在当前页面上打开,而是重新打开一个新页面;这种情况下如何跳转到新的页面上操作?

首先,需要了解的是每个窗口都有句柄的,可以理解为浏览器窗口的唯一标识符,根据这个标识符来确定新打开的窗口:

先获取当前窗口的句柄,

String current_handle = driver.getWindowHandle();

打开新窗口后获取所有窗口的句柄,

Set<String> all_handles = driver.getWindowHandles();

通过循环判断是不是当前的窗口句柄,

Iterator<String> it = all_handles.iterator();

while(it.hasnext()){

if(it.next() == current_handle){

continue;

}

//跳入新窗口

WebDriver new_driver = driver.switchTo().window(it.next());

}

新窗口的driver为new_driver,若要跳回之前的窗口,则使用如下:

driver.switchTo().window(current_handle);

selenium之浏览器弹出新窗口(新页面)相关推荐

  1. selenium之浏览器弹出新窗口并在新窗口操作

    在一个页面上点击一个链接之后,并不是在当前页面上打开,而是重新打开一个新页面:这种情况下如何跳转到新的页面上操作? 首先,需要了解的是每个窗口都有句柄的,可以理解为浏览器窗口的唯一标识符,根据这个标识 ...

  2. html 在框架里弹出页面,iframe弹出新窗口 iframe页面打开新窗口问题

    如何使iframe中的链接都在新窗口打开 a.html文件源码如下 如何让所有链接在新窗口打开2008-07-24 21:26 使用target="blank"属性 open 注意 ...

  3. window.open浏览器弹出新窗口被拦截—原因分析和解决方案

    最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,在本机实验没问题,到了服务器就被拦截了,火狐有拦截提示,360浏览器拦截提示都没有,虽然在自己的环境可以对页面进行放行,但是对用户 ...

  4. 如何点击按钮弹出新窗口,输入数据后返回并刷新页面

    如何点击按钮弹出新窗口,输入数据后返回并刷新页面? 作者:孟宪会 出自:[孟宪会之精彩世界] 发布日期:2003年7月8日 4点0分13秒 在一些.NET论坛中有人经常会问:如何在页面中点击按钮打开新 ...

  5. html弹窗页面控制大小,使用JS弹出新窗口,并设置窗口的大小和位置等相关属性,传递参数...

    使用JS弹出新窗口,同时向弹出的页面传递一个参数. 首先,使用JS获取需要传递的参数.然后将参数传入心得页面. window.open 弹出新窗口的命令: page.html 弹出新窗口的文件名: n ...

  6. PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法

    PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法 参考文章: (1)PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法 (2)https://www.cnblogs.com/aziji/ ...

  7. 网页自动弹窗被拦截 html,JS弹出新窗口被拦截的解决方法

    在Web编程中,使用JS在新窗口打开页面的时候,会遇到被浏览器拦截的情况,那么,我们如何才能让JS打开新窗口不被浏览器阻止呢? 一.问题一 一般情况下,如果直接在js中调用window.open()函 ...

  8. jsp弹出新窗口代码

    各类网页弹窗代码编写 经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警 告.欢迎光顾之类的话或者作者想要特 ...

  9. 在showModalDialog和showModelessDialog中提交form时不弹出新窗口

    在showModalDialog和showModelessDialog中提交form时不弹出新窗口 方法一: 在弹出的页面head部分加上<base target="_self&quo ...

最新文章

  1. c语言中throw的用法,C中的内联throw()方法
  2. android浮动文本,android 添加浮动标签在textView最尾端,自动换行
  3. 线程安全的ConcurrentQueueT队列
  4. 《ggplot2:数据分析与图形艺术》,读书笔记
  5. 时空、维度,以及其他(二)
  6. GBase数据库迁移工具介绍
  7. 我在HW中用到的三款工具
  8. 鸿蒙系统能玩魔兽世界吗,魔兽世界TBC燃烧远征测试服,H英雄本的装备2小时内可以交易, 亲友们可以互相毛装备了...
  9. 天翼云服务器搭建网站必须要知道的血泪史!
  10. Simulink代码生成: Switch模块及其代码
  11. SAP用户应该知道的销售订单(协议)的重要控制逻辑
  12. php7语法 mysql_php7语法
  13. 一个汉字笔画库 hanzi-writer 的小应用
  14. web漏洞-远端WWW服务支持TRACE请求
  15. 编程练习:母牛的故事* 题解
  16. lqc_远程日志管理
  17. 《Total Commander:万能文件管理器》——第5.4节.更多压缩格式及插件
  18. 单片机c语言电梯楼层,基于单片机五层电梯课程设计.pdf
  19. Android安全防护
  20. 回头客会员管理系统收银机为什么不能使用个人二维码收款?

热门文章

  1. Matlab学习日记(5)二维曲线的绘制(plot与fplot)
  2. linux防火墙关闭开放的端口,Linux关闭防火墙,开放端口
  3. 图数据库——大数据时代的高铁
  4. android 远程控制 盒子,真正远程控制你的盒子(局域网和互联网)
  5. Python编码、解码的理解(GBK,UTF-8,Unicode)
  6. 超实用一看就懂!汽车常用配件的更换周期
  7. 弹指流连间,在梦中轻拾爱的碎片
  8. python抽奖简单小程序游戏_python实现抽奖小程序
  9. lammps教程:delete_atoms删除原子后原子ID不连续的两种解决方案
  10. 大数据培训课程之Flume拓扑结构大数据培训课程之Flume拓扑结构