python3 selenium 切换窗口的几种方法
第一种方法:
使用场景:
打开多个窗口,需要定位到新打开的窗口
使用方法:
- # 获取打开的多个窗口句柄
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、第二种方法是大家最常用的方法,比较容易理解
说明:
1、我的脚本都是以课工场为例,如果有什么不明白的地方,欢迎大家留言,我看的话会及时给大家解答
2、辛苦原创,转载请注明出处
python3 selenium 切换窗口的几种方法的更多相关文章
- selenium 切换窗口的几种方法
第一种方法: 使用场景: 打开多个窗口,需要定位到新打开的窗口 使用方法: # 获取打开的多个窗口句柄 windows = driver.window_handles # 切换到当前最新打开的窗口 d ...
- Python3 Selenium多窗口切换
Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...
- python3 打开页面后多窗口处理三种方法
多窗口处理三种方法 导包,实例化浏览器from selenium import webdriver fx=webdriver.Firefox()方法一fx.switch_to.window(fx.wi ...
- jquery mobile切换页面的几种方法
jquery mobile切换页面的几种方法 - 不厚道青蛙之焦油潭 - 博客频道 - CSDN.NET jquery mobile切换页面的几种方法 分类: phonegap html5 2012- ...
- Windows 10 应用创建模糊背景窗口的三种方法
原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windo ...
- selenium切换窗口
在做网页自动化测试的时候,难免会打开很多个网页,那么,如何在多个窗口之间切换呢? 获取窗口的唯一标识用句柄(handle)表示,因此只需要切换句柄,就可以灵活的在各窗口之间切换. 下面介绍几个方法 c ...
- OD 实验(四) - 去除 NAG 窗口的几种方法
程序: 运行 弹出一个窗口,说要注册 点击确定,到主窗口 关闭主窗口 然后弹出提醒注册的对话框 逆向程序 用 OD 打开程序 GetModuleHandleA 获取程序模块的句柄,程序在内存中的基址 ...
- Response.Redirect 打开新窗口的两种方法
一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='htt ...
- 多测师讲解selenium ——切换窗口——打印句柄_高级讲师肖sir
(一)同一个窗口打开两个浏览器 from selenium import webdriverfrom time import sleepdrvier=webdriver.Chrome()url='ht ...
随机推荐
- 使用 POJO 对象绑定请求参数
概述 Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值并且支持级联属性.这一特性在日常开发过程中使用频率比较高,开发效率也高,本文主要对 POJO 对象绑定 ...
- linux vi hjkl由来
很远原因来自历史 I was reading about vim the other day and found out why it used hjkl keys as arrow keys. Wh ...
- win10+vs2010+cuda7.5安装及配置
http://blog.csdn.net/u011821462/article/details/50145221 这篇博客已经写得很详细了.
- 解决mysql启动时报The server quit without updating PID file 的错误(转)
1.一般是权限问题,把用户和组改为mysql就可以了. chown -R mysql:mysql /var/lib/mysql 2.在启动mysql时报下列错误 [root@mysqld2 ~]# ...
- mac开发环境配置
折腾了好几天了,终于安装一部分了,mac装的win10,太占空间了,看到学习资源使用的工具,自己搜了一下安装了,在学习使用git的时候,都说mac比win好用多了,我tm为啥抱着mac装win费劲呢! ...
- Omi官方插件系列 - omi-transform介绍
原文链接 - https://github.com/AlloyTeam/omi/tree/master/tutorial 写在前面 Omi框架正式发布了omi-transform作为Omi组件化开发特 ...
- Codeforces Round #384 (Div. 2).C
C. Vladik and fractions time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 使用SharedPreferences存储用户配置信息
用SharedPreferences来保存用户的基本配置信息非常的方便,实现起来也很容易:以下是一个简单的例子: 效果截图: 主要代码: public class MainActivity ex ...
- 使用U盘安装ubuntu 12.04(使用大白菜u盘启动工具)
家里有个u盘启动盘,用大白菜U盘工具做的. 1.把iso文件放到u盘里,把ISO文件中的casper目录下的vmlinuz和initrd拷贝到u盘根目录下: 2.修改启动顺序,选u盘启动: 3.启动时 ...
- 在应用程序中使用Xml文件
用于操作Xml的文档主要有XmlNode.XmlDocument.XmlComment.XmlElement.XmlAttribute.XmlText.XmlNodeList 下面用一段代码来具体说明 ...