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中的标识运算符
May 14 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
对python3 一组数值的归一化处理方法详解
Jul 11 Python
selenium+python 对输入框的输入处理方法
Oct 11 Python
python正则表达式匹配[]中间为任意字符的实例
Dec 25 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
Laravel+Dingo/Api 自定义响应的实现
Feb 17 Python
Django web框架使用url path name详解
Apr 29 Python
django admin组件使用方法详解
Jul 19 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
Jul 31 Python
Python configparser模块常用方法解析
May 22 Python
python利用paramiko实现交换机巡检的示例
Sep 22 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/07/01 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
selenium自动化测试入门实战
2020/12/21 Python
html5唤起app的方法
2017/11/30 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
书香家庭事迹材料
2014/05/09 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
冰峪沟导游词
2015/02/09 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang