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实现的百度贴吧网络爬虫实例
Apr 17 Python
Python3读取文件常用方法实例分析
May 22 Python
常见的python正则用法实例讲解
Jun 21 Python
win与linux系统中python requests 安装
Dec 04 Python
Python二叉树定义与遍历方法实例分析
May 25 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
python爬取微信公众号文章的方法
Feb 26 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
用python写测试数据文件过程解析
Sep 25 Python
pycharm激活码有效到2020年11月底
Sep 18 Python
Python定义一个Actor任务
Jul 29 Python
OpenCV灰度化之后图片为绿色的解决
Dec 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
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP常用技巧汇总
2016/03/04 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
js实现带三角符的手风琴效果
2017/03/01 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
python修改txt文件中的某一项方法
2018/12/29 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
在keras中实现查看其训练loss值
2020/06/16 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
优秀团队获奖感言
2014/02/19 职场文书
委托书范文
2014/04/02 职场文书
2014年科研工作总结
2014/12/03 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
家长会开场白和结束语
2015/05/29 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
使用Django框架创建项目
2022/06/10 Python