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中解析XML数据的方法
Oct 15 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
python 全文检索引擎详解
Apr 25 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
对pytorch网络层结构的数组化详解
Dec 08 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
Python3中urlencode和urldecode的用法详解
Jul 23 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
pytorch model.cuda()花费时间很长的解决
Jun 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP可变函数的使用详解
2013/06/14 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
2017/05/18 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
利用python发送和接收邮件
2016/09/27 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
在django中form的label和verbose name的区别说明
2020/05/20 Python
python实现xml转json文件的示例代码
2020/12/30 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
革命先烈的英雄事迹材料
2014/02/15 职场文书
刘公岛导游词
2015/02/05 职场文书