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中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
python一键升级所有pip package的方法
Jan 16 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 Python
python 制作磁力搜索工具
Mar 04 Python
Python爬取某拍短视频
Jun 11 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生成图片验证码-附五种验证码
2015/08/19 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
js对象的比较
2011/02/26 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
2015/08/24 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
vue.js实现图书管理功能
2019/09/24 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python文件操作的简单方法总结
2019/11/07 Python
如何使用Python调整图像大小
2020/09/26 Python
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
如何写一个自定义标签
2012/12/28 面试题
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
妇产科护士自我鉴定
2013/10/15 职场文书
魅力教师事迹材料
2014/01/10 职场文书
师生聚会感言
2014/01/26 职场文书
异地年检委托书范本
2014/09/24 职场文书
学生偷窃检讨书
2014/09/25 职场文书
小学老师对学生的评语
2014/12/29 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫