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 相关文章推荐
wxpython中利用线程防止假死的实现方法
Aug 11 Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
python数字图像处理之高级滤波代码详解
Nov 23 Python
python实现基于SVM手写数字识别功能
May 27 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
python解决字符串倒序输出的问题
Jun 25 Python
Python 中字符串拼接的多种方法
Jul 30 Python
Django urls.py重构及参数传递详解
Jul 23 Python
django创建超级用户过程解析
Sep 18 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
Python中and和or如何使用
May 28 Python
如何解决cmd运行python提示不是内部命令
Jul 01 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中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
js模拟F11页面全屏显示
2019/09/17 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Linux 修改Python命令的方法示例
2018/12/03 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
python 实现图片裁剪小工具
2021/02/02 Python
高级文秘工作总结的自我评价
2013/09/28 职场文书
工程力学专业毕业生求职信
2013/10/06 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
搞笑征婚广告词
2014/03/17 职场文书
总经理任命书范本
2014/06/05 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
党员承诺书格式范文
2015/04/28 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
团组织关系介绍信
2019/06/24 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书