python selenium-webdriver 标签页切换(十五)
测试过程中有时候会遇到点击某个按钮或者链接会弹出新的窗口,这时候我们的操作的页面还保持着最初打开页面,但是此时我们需要操作新打开的页面上的功能,这个时候我们需要切换一下标签页 。
其实页面的切换与frame的切换比较相识,一种切换时本页面内frame的操作,而标签页面是多页面的操作,道理很相似。下面讲解下操作页面标签会涉及到那些方法。
- driver.current_window_handle #获取当前窗口的句柄
- driver.window_handles #获取所有窗口句柄
- driver.switch_to_window(windowName) #切换窗口的句柄
窗口的切换比较容易,所以我们通过代码详细了解下页面如何切换
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.maximize_window()
driver.find_element_by_id('kw').send_keys(u'梦雨情殇') #搜索“梦雨情殇的博客”
now_handle = driver.current_window_handle #获取当前窗口的句柄
print(now_handle) #打印当前窗口的句柄
print(driver.title) #获取打开页面的标题
driver.find_element_by_id('su').click()
time.sleep(2)
driver.find_element_by_xpath('//*[@id="1"]/h3/a').click() #点击第一条查询的数据
all_handles = driver.window_handles #获取到当前所有的句柄,所有的句柄存放在列表当中
print(all_handles) #打印句柄
'''获取非最初打开页面的句柄'''
for handles in all_handles:
if now_handle != handles:
driver.switch_to_window(handles)
print(driver.title) #获取切换后的标题
time.sleep(3)
driver.quit()
效果:

从例子中我们看到无论我们打开几个页面,但是默认的句柄依然保持在最初打开的页面,如果想要操作后面的页面的时候我们首先需要获取到当前所有的打开页面的句柄,然后在遍历选择你需要的句柄,打开标签页顺序也就是列表存放的index顺序,然后我们按照索引选择,最后在切换到对应的页面。最重要的是操作完成对应的页面一定要切换回最初的标签页,然后通过最初的页面进行切换,这边避免最后自己也不知道在操作那个页面,这个是自己的一点的经验吧。
python selenium-webdriver 标签页切换(十五)的更多相关文章
- python selenium webdriver入门基本操作
python selenium webdriver入门基本操作 未经作者允许,禁止转载! from selenium import webdriver import time driver=webdr ...
- Python Selenium Webdriver常用方法总结
Python Selenium Webdriver常用方法总结 常用方法函数 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: m ...
- Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面
感觉 Android 到处都是坑,每个地方都要把人折腾半天. 今天来简单说说 Android之ActionBar.Tabs.Fragment.ViewPager 实现标签页切换并缓存页面 关于他们的介 ...
- Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接
今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...
- 在Bootstrap开发中解决Tab标签页切换图表显示问题
在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其 ...
- JavaScript 实现 标签页 切换效果
JavaScript 实现 标签页 切换效果 版权声明:未经授权,严禁分享! 构建主体界面 HTML 代码 <h1>实现标签页的切换效果</h1> <ul id=&quo ...
- JS实现标签页切换效果
本文实例为大家分享了JS标签页切换的具体代码,供大家参考,具体内容如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
- Python+Selenium WebDriver API:浏览器及元素的常用函数及变量整理总结
由于网页自动化要操作浏览器以及浏览器页面元素,这里笔者就将浏览器及页面元素常用的函数及变量整理总结一下,以供读者在编写网页自动化测试时查阅. from selenium import webdrive ...
- Python + Selenium WebDriver Api 知识回顾
一直再用 Selenium WebDriver 但是用的都比较零散,也没有做过总结,今天借此机会,整理一下,方便大家使用时查阅 webDriver 的属性 ['CONTEXT_CHROME', 'C ...
随机推荐
- libusb 终于搞好了
- C:基础知识
基础知识 一.基础转义字符 1.常用的转义字符 \n 回车换行 (10) \” 双引号 \t 横向跳格(9) \0 空字符(0) \v 竖向跳格 (11) \a 响铃(7) \b 退格 (8) \ ...
- 10.3.1 iOS启动画面横屏是怎么回事?
产生这个问题的原因是编译旧版Delphi建立的项目,二种解决方法: 1.用 10.3.1 重建空工程,再把使用的单元文件重新加进来.这个操作有点麻烦,尤其对于使用单元多的文件,不过,有种方法,就是先把 ...
- mysql储存引擎
Mysql数据库常用存储引擎 数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使 ...
- python中闭包
闭包是指内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure). 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变 ...
- SSH防止超时的设置
针对SSH命令工具超时的解决方法: 1.在命令行输入这两行代码,即可完成 echo export TMOUT=1000000 >> /root/.bash_profile cat /roo ...
- HDU 6059 17多校3 Kanade's trio(字典树)
Problem Description Give you an array A[1..n],you need to calculate how many tuples (i,j,k) satisfy ...
- JAVA面向对象和类
一.构造方法 1.构造方法是一个与类同名的方法,用来对类进行实例化(创建对象) 2.特点 1).构造方法没有返回值: 2).构造方法的名称要与本类的名称相同. 例 public class Test{ ...
- MongDB篇,第一章:数据库知识2
MongDB 数据库知识2 非关系型数据库和关系型数据库的比较1. 不是以关系模型构建数据结构,结构比较自由 不保证数据的一致性2. 非关系型数据库弥补了关系型数据库的一些不足,能 够在处理高并 ...
- IIS 7上导入SSL证书
1.将SSL证书文件上传至服务器 2.导入证书 1)在IIS设置项中,打开‘服务器证书’ 2)选择导入 3)将网站绑定SSL证书