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使用psutil模块获取系统状态
Aug 27 Python
Python循环语句中else的用法总结
Sep 11 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
Python 模拟购物车的实例讲解
Sep 11 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
python+Splinter实现12306抢票功能
Sep 25 Python
Python3远程监控程序的实现方法
Jul 15 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
Python 使用dict实现switch的操作
Apr 07 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实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
vue-router 按需加载 component: () => import() 报错的解决
2020/09/22 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
导师评语大全
2014/04/26 职场文书
防灾减灾宣传标语
2014/10/07 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
python基础入门之字典和集合
2021/06/13 Python