python3 selenium 切换窗口的几种方法小结


Posted in Python onMay 21, 2018

第一种方法:

使用场景:

打开多个窗口,需要定位到新打开的窗口

使用方法:

# 获取打开的多个窗口句柄
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])

举例说明:

# _._ coding:utf-8 _._
"""
:author: 花花测试
:time: 2017.05.03
:content: 使用第一种方法切换浏览器
"""
from selenium import webdriver
import time
# 打开课工场网站主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()
# 点击全部课程,进入课程库【第二个窗口】
driver.find_element_by_link_text('全部课程').click()
time.sleep(3)
# 使用第一种方法切换浏览器【切换到第二个窗口】
windows = driver.window_handles
driver.switch_to.window(windows[-1])
time.sleep(3)
# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 关闭浏览器
driver.quit()
print('测试通过')

第二种方法:

使用场景:

打开两个窗口,需要定位到新打开的窗口

使用方法:

# 获得打开的第一个窗口句柄
window_1 = driver.current_window_handle
# 获得打开的所有的窗口句柄
windows = driver.window_handles
# 切换到最新的窗口
for current_window in windows:
 if current_window != window_1:
  driver.switch_to.window(current_window)

举例说明:

# _._ coding:utf-8 _._
"""
:author: 花花测试
:time: 2017.05.03
:content: 使用第二种方法切换浏览器
"""
from selenium import webdriver
import time
from selenium import webdriver
import time
# 打开课工场网站主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()
# 点击全部课程,进入课程库【第二个窗口】
driver.find_element_by_link_text('全部课程').click()
time.sleep(3)
# 使用第二种方法切换浏览器【切换到第二个窗口】
window_1 = driver.current_window_handle
windows = driver.window_handles
for current_window in windows:
 if current_window != window_1:
  driver.switch_to.window(current_window)
time.sleep(3)
# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 关闭浏览器
driver.quit()
print('测试通过')

两种方法的区别:

1、第一种方法比较简单,能提升整体代码的性能

2、第二种方法是大家最常用的方法,比较容易理解

以上这篇python3 selenium 切换窗口的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3访问sina首页中文的处理方法
Feb 24 Python
Django Admin实现上传图片校验功能
Mar 06 Python
使用python实现生成用户信息
Mar 20 Python
Python贪吃蛇游戏编写代码
Oct 26 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
python 对象真假值的实例(哪些视为False)
Dec 11 Python
python用分数表示矩阵的方法实例
Jan 11 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
Feb 07 Python
Python Pygame实现俄罗斯方块
Feb 19 Python
使用pandas模块实现数据的标准化操作
May 14 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 #Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 #Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 #Python
Python安装lz4-0.10.1遇到的坑
May 20 #Python
Python requests发送post请求的一些疑点
May 20 #Python
python中virtualenvwrapper安装与使用
May 20 #Python
django静态文件加载的方法
May 20 #Python
You might like
新版PHP将向Java靠拢
2006/10/09 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
jquery实现手机号码选号的方法
2015/07/31 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
jQuery简单实现input文本框内灰色提示文本效果的方法
2015/12/02 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
python实现探测socket和web服务示例
2014/03/28 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
pygame实现五子棋游戏
2019/10/29 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python 3.8 新功能来一波(大部分人都不知道)
2020/03/11 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
广告学专业应届生求职信
2013/10/01 职场文书
求职简历中自我评价
2014/01/28 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
销售员态度差检讨书
2014/10/26 职场文书
艺术节开幕词
2015/01/28 职场文书
大学教师个人总结
2015/02/10 职场文书
护士自荐信怎么写
2015/03/06 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技