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中pygame模块用法实例
Oct 09 Python
Python的迭代器和生成器使用实例
Jan 14 Python
Python中的条件判断语句基础学习教程
Feb 07 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
详解python上传文件和字符到PHP服务器
Nov 24 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
Python计算IV值的示例讲解
Feb 28 Python
python中的列表和元组区别分析
Dec 30 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 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
无限级别菜单的实现
2006/10/09 PHP
推荐个功能齐全的发送PHP邮件类
2007/01/03 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
用JS实现的一个include函数
2007/07/21 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
Django框架 querySet功能解析
2019/09/04 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
心理健康课教学反思
2014/02/13 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS