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二叉树遍历的实现方法
Nov 21 Python
浅谈Python中数据解析
May 05 Python
Python聚类算法之基本K均值实例详解
Nov 20 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
微信跳一跳自动运行python脚本
Jan 08 Python
zookeeper python接口实例详解
Jan 18 Python
Python OpenCV获取视频的方法
Feb 28 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 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
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
python安装requests库的实例代码
2019/06/25 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python实现名片管理系统
2020/02/14 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
python中最小二乘法详细讲解
2021/02/19 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
教育学专业毕业生的自我评价
2013/11/21 职场文书
高一政治教学反思
2014/01/28 职场文书
创意婚礼策划方案
2014/05/18 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python