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 相关文章推荐
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
Ruby元编程基础学习笔记整理
Jul 02 Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
Django学习教程之静态文件的调用详解
May 08 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Django中create和save方法的不同
Aug 13 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
Pytorch释放显存占用方式
Jan 13 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
pandas apply多线程实现代码
Aug 17 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的面试题集,附我的答案和分析(一)
2006/11/19 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
JQuery常见节点操作实例分析
2019/05/15 jQuery
JS实现点餐自动选择框(案例分析)
2019/12/10 Javascript
javascript实现留言板功能
2020/02/08 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python七夕浪漫表白源码
2019/04/05 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
django使用graphql的实例
2020/09/02 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
餐厅经理岗位职责范本
2014/02/17 职场文书
信息技术课后反思
2014/04/27 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript