selenium python浏览器多窗口处理代码示例


Posted in Python onJanuary 15, 2018

本文主要研究的是selenium python浏览器多窗口处理的相关内容,分享了操作实例代码,具体如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
__author__ = 'zuoanvip'
#在测试过程中有时候会遇到出现多个浏览器窗口的情况,这时候我们可以通过窗口的句柄来操作不同窗口的元素
from selenium import webdriver
import os
import time

driver =webdriver.Firefox()
driver.get('http://www.baidu.com')


#获得当前窗口的句柄
nowwhandle = driver.current_window_handle

#打开注册新窗口
driver.find_element_by_name('tg_reg').click()

#获取所有窗口的句柄
allhandles = driver.window_handles

#循环判断窗口是否为当前窗口

for handle in allhandles:
  if handle != nowwhandle:
    driver.switch_to_window(handle)
    print 'Now register window!'
    #切换到邮箱注册标签
    driver.find_element_by_id('mailRegTab').click()
    time.sleep(5)
    driver.close()

#返回原先到的窗口
driver.switch_to_window(nowwhandle)

driver.find_element_by_id('kw').send_keys(u'注册成功')
driver.quit()

执行过程为:首先通过nowhandle获得当前窗口的句柄,随后打开注册窗口;通过allhandles获得所有窗口的句柄;对句柄进行循环遍历;判断窗口是否为nowhandle,如果不是则获得当前窗口的句柄,对当前页面 的元素进行操作,最后返回nowhandle

总结

以上就是本文关于selenium python浏览器多窗口处理代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
Python解惑之整数比较详解
Apr 24 Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 Python
BP神经网络原理及Python实现代码
Dec 18 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Pytorch中.new()的作用详解
Feb 18 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
Python如何对齐字符串
Jul 30 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
100行python代码实现跳一跳辅助程序
Jan 15 #Python
tornado 多进程模式解析
Jan 15 #Python
200 行python 代码实现 2048 游戏
Jan 12 #Python
一篇文章快速了解Python的GIL
Jan 12 #Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 #Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 #Python
python opencv实现任意角度的透视变换实例代码
Jan 12 #Python
You might like
大师制作的中短波矿石收音机
2020/04/02 无线电
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
vue实现拖拽进度条
2021/03/01 Vue.js
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
对python中的pop函数和append函数详解
2018/05/04 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
员工薪酬福利制度
2014/01/17 职场文书
学术会议邀请函范文
2014/01/22 职场文书
新员工入职感言
2014/02/01 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
迎国庆演讲稿
2014/09/05 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
教师学期个人总结
2015/02/11 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python