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 相关文章推荐
Python写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
python读取和保存视频文件
Apr 16 Python
使用Python实现在Windows下安装Django
Oct 17 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
python粘包问题及socket套接字编程详解
Jun 29 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
python实现ip地址的包含关系判断
Feb 07 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Python selenium模块实现定位过程解析
Jul 09 Python
python爬虫快速响应服务器的做法
Nov 24 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
php5数字型字符串加解密代码
2008/04/24 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
js 上传图片预览问题
2010/12/06 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery EasyUI 布局之动态添加tabs标签页
2015/11/18 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
小程序实现上下切换位置
2020/11/16 Javascript
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
基于python实现把图片转换成素描
2019/11/13 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
关于赌博的检讨书
2014/01/24 职场文书
网络编辑职责
2014/03/01 职场文书
班风口号
2014/06/18 职场文书
2014年行政部工作总结
2014/11/19 职场文书
检讨书大全
2015/01/27 职场文书
工作能力自我评价2015
2015/03/05 职场文书
新年晚会开场白
2015/05/29 职场文书
运动会加油稿50字
2015/07/21 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
用python实现监控视频人数统计
2021/05/21 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL