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 相关文章推荐
使用IPython来操作Docker容器的入门指引
Apr 08 Python
python中管道用法入门实例
Jun 04 Python
Python实现的用户登录系统功能示例
Feb 05 Python
python数字图像处理实现直方图与均衡化
May 04 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
Python中的asyncio代码详解
Jun 10 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
Django自带的用户验证系统实现
Dec 18 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代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
javascript流程控制语句集合
2017/09/18 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
Python中str.join()简单用法示例
2018/03/20 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
python调用c++传递数组的实例
2019/02/13 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
创建无烟单位实施方案
2014/03/29 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
2014年共青团工作总结
2014/12/10 职场文书
食品安全主题班会
2015/08/13 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
MySQL创建索引需要了解的
2021/04/08 MySQL
python中opencv实现图片文本倾斜校正
2021/06/11 Python
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
python实现层次聚类的方法
2021/11/01 Python
实例详解Python的进程,线程和协程
2022/03/13 Python