selenium 切换窗口的几种方法
第一种方法:
使用场景:
打开多个窗口,需要定位到新打开的窗口
使用方法:
# 获取打开的多个窗口句柄 windows = driver.window_handles # 切换到当前最新打开的窗口 driver.switch_to.window(windows[-1])
举例说明:
1 # _._ coding:utf-8 _._
2
3 """
4 :author: 花花测试
5 :time: 2017.05.03
6 :content: 使用第一种方法切换浏览器
7 """
8
9 from selenium import webdriver
10 import time
11
12 # 打开课工场网站主页【第一个窗口】
13 driver = webdriver.Chrome()
14 driver.get('http://www.kgc.cn/')
15 driver.maximize_window()
16
17 # 点击全部课程,进入课程库【第二个窗口】
18 driver.find_element_by_link_text('全部课程').click()
19 time.sleep(3)
20
21 # 使用第一种方法切换浏览器【切换到第二个窗口】
22 windows = driver.window_handles
23 driver.switch_to.window(windows[-1])
24 time.sleep(3)
25
26 # 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
27 driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
28 time.sleep(3)
29
30 # 关闭浏览器
31 driver.quit()
32 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)
举例说明:
1 # _._ coding:utf-8 _._
2
3 """
4 :author: 花花测试
5 :time: 2017.05.03
6 :content: 使用第二种方法切换浏览器
7 """
8
9 from selenium import webdriver
10 import time
11
12 from selenium import webdriver
13 import time
14
15 # 打开课工场网站主页【第一个窗口】
16 driver = webdriver.Chrome()
17 driver.get('http://www.kgc.cn/')
18 driver.maximize_window()
19
20 # 点击全部课程,进入课程库【第二个窗口】
21 driver.find_element_by_link_text('全部课程').click()
22 time.sleep(3)
23
24 # 使用第二种方法切换浏览器【切换到第二个窗口】
25 window_1 = driver.current_window_handle
26 windows = driver.window_handles
27 for current_window in windows:
28 if current_window != window_1:
29 driver.switch_to.window(current_window)
30 time.sleep(3)
31
32 # 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
33 driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
34 time.sleep(3)
35
36 # 关闭浏览器
37 driver.quit()
38 print('测试通过')
两种方法的区别: 1、第一种方法比较简单,能提升整体代码的性能 2、第二种方法是大家最常用的方法,比较容易理解
selenium 切换窗口的几种方法的更多相关文章
- python3 selenium 切换窗口的几种方法
第一种方法: 使用场景: 打开多个窗口,需要定位到新打开的窗口 使用方法: # 获取打开的多个窗口句柄windows = driver.window_handles# 切换到当前最新打开的窗口driv ...
- 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 ...
- selenium 切换窗口 每次成功code
最近用了网络上别人的一段切换窗口的code每次成功了,不错,学习 // 根据Title切换新窗口 public boolean switchToWindow_Title(WebDriver drive ...
随机推荐
- jruby+watir-webdriver+cucumber自动化测试环境配置
1.安装java运行时环境,且配置环境变量 2.安装jruby环境,建议选择安装1.6.8或1.6.7版本的 3.安装需要的gem包 gem install activerecord -v='3.0. ...
- Aop第一节
什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入 ...
- WebForm随笔
一般处理程序中获取页面所传的值:int id = Convert.ToInt32(context.Request["id"]); 后台获取页面所传的值:int id = Conve ...
- 项目在cocos 2.23移植到cocos 3.1.0所出现的bug
在建项目时一定要注意选择源代码!而不是预编译库 "extensions/ExtensionMacros.h”: No such file 项目右键-属性-配置属性-c/c++ - 常规-附加 ...
- 《Python基础教程》 读书笔记 第九章 魔法方法、属性和迭代器(上)
构造方法 在Python中创建一个构造方法很容易.只要把init方法的名字从简单的init修改为魔法版本__init__即可: >>> class FooBar: ... d ...
- 最小化安装centos后ifconfig看不到eth0
最小换安装centos后,ifconfig看不到eth0,只看到一个lo ifup eth0
- SQLServer 错误: 15404,无法获取有关 Windows NT 组/ 用户 'WIN-8IVSNAQS8T7\Administrator' 的信息,错误代码 0x534。
在自动清理日志的作业中,执行过程出现如下问题:“SQLServer 错误: 15404,无法获取有关 Windows NT 组/ 用户 'WIN-8IVSNAQS8T7\Administrator' ...
- SQL语句,mysql数据库
sql语句,把一张表里的数据,和特定数据(固定常量)新插入另一张表 ,,, from wm_jobpoint INSERT INTO wm_department(departmentcode,depa ...
- Linux配置临时IP地址
# ifconfig 查看网卡信息,如下图所示: # ifconfig eth0 192.168.0.107 eth0表示第一块网卡,Linux中所有的设配都是文件,所以eth0是第一块网卡的文件名, ...
- tomcat配置 —— 各个目录的作用
tomcat各目录(文件)作用 tomcat-7.0.50解压版,主目录一览: 我们可以看到主目录下有bin,conf,lib,logs,temp,webapps,work 7个文件夹,下面对他们分别 ...