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多线程编程中的join函数使用心得
Sep 02 Python
Python线程创建和终止实例代码
Jan 20 Python
Python双向循环链表实现方法分析
Jul 30 Python
python时间序列按频率生成日期的方法
May 14 Python
python issubclass 和 isinstance函数
Jul 25 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
详解Django中异步任务之django-celery
Nov 05 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 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脚本的10个技巧(6)
2006/10/09 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
python读写ini文件示例(python读写文件)
2014/03/25 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
PyQt实现计数器的方法示例
2021/01/18 Python
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
致长跑运动员广播稿
2014/01/31 职场文书
小组合作学习反思
2014/02/18 职场文书
物理学专业自荐信
2014/06/11 职场文书
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电