Python_selenium之窗口切换(二)
Python_selenium之窗口切换(二)
一、思路拆分
1. 之前有介绍窗口切换,这里加上断言部分
2. 这里还是以百度新闻为例,获取百度新闻网址http://news.baidu.com/
3. 同样的获取所有的句柄,然后获取当前的句柄,同之前操作差不多
4. 最后加上断言部分,page2的信息内容是否包含page1,这里采用assert in语句
二、测试脚本
1. 测试脚本如下:
#coding:utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(8)
driver.get("http://news.baidu.com/")
ele=driver.find_element_by_xpath("//*[@id='pane-news']/div/ul/li/strong/a[contains(text(),'全球')]")
page1=ele.text
ele.click()
handles=driver.window_handles#获取当前浏览器的所有句柄
for handle in handles:
if handle != driver.current_window_handle:
print "switch to second windows",handle
driver.close()
driver.switch_to.window(handle)
page2=driver.find_element_by_xpath("//*[@class='subject']/h2").text
print "page1.text=",page1
print "page2.text=",page2
# if page1==page2:
# print "test sucess"
# else:
# print "test failed"
try:
assert page1 in page2
print "test sucess"
except Exception as e:
print "test failed"
2. 测试结果如下图1所示
3. 上述测试脚本中,备注部分运用了if语句,但是,定位到百度新闻首页获取好的元素信息与新开的页签下面的信息内容不是完全一致,所以这里运用assert in语句比较合适。
Python_selenium之窗口切换(二)的更多相关文章
- Python_selenium之窗口切换
Python_selenium之窗口切换 1. 运用switch_to.window()方法来进行窗口切换 2. 思路拆分: 浏览器获取百度贴吧网址 点击定位到一个元素,获取当前的句柄 获得所有的句柄 ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- qt布局管理-缩放、多窗口切换
关于缩放的布局 所有控件要求与主窗口同时缩放,那么在所有控件设置好布局后,最后点击最外侧的主控件,选择水平布局或者垂直布局即可. 另外每个空间的属性可更改,如SizePolicy用于设置空间是否可缩放 ...
- python - web自动化测试 - 元素操作 - 窗口切换
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community ...
- ubuntu 18.04多应用窗口切换的快捷键使用指南
前记 使用ubuntu时间长了,很厌烦用鼠标来点来点去.重复操作的,还是快捷键比较方便.在多窗口切换方面,熟悉了几个快捷键之后,顿时感觉神清气爽.这里就推荐给大家学习一下,提高工作效率啊. 常用快捷键 ...
- Selenium(七)多窗口切换、等待方法、alert对话框处理
一.多窗口切换 1.打开百度首页 2.在百度中搜索博客园 3.从搜索结果中跳转到博客园 4.博客园首页和百度搜索页面切换 handle:句柄 二.等待方法 time.sleep(5) 先导入方法 参数 ...
- selenium基础(多表单切换、多窗口切换)
一.多表单的切换 frame:HTML页面中的一中框架,主要作用是在当前页面中指定区域显示另一页面元素: (HTML语言中,frame/iframe标签为表单框架) 在web ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
- Qt界面编程之多窗口切换
1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例 功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供
随机推荐
- 代码自动生成工具 MyGeneration
MyGeneration 是一款不错的ORM和代码生成工具,它基于模板(Template)工作,安装好MyGeneration 后自带了很多模板,并且提供在线模板库提供模板升级和允许用户自定义模板.M ...
- 彻底理解PHP的SESSION机制【转】
原文地址: http://www.cnblogs.com/acpp/archive/2011/06/10/2077592.html session.save_handler = files 1. se ...
- javaWeb项目部署到阿里云服务器步骤 完整版
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- 中小型研发团队架构实践:任务调度Job
一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 ...
- Node.js搭建本地web服务(转)
http://www.cnblogs.com/wangfupeng1988/p/4143996.html https://github.com/finderL/webserver
- jquery的onclick(this)方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 点滴积累【JS】---JS小功能(JS实现匀速运动)
效果: 思路: 利用setInerval()计时器,进行运动.然后关键的一点是在最后停止的时候给它一个填充缝隙的判断. 代码: <head runat="server"> ...
- Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向
Atitit. 软件开发中的管理哲学--一个伟大的事业必然是过程导向为主 过程导向 vs 结果导向 1. 一个伟大的事业必然是过程导向为主 1 1.1. 过程的执行情况(有明确的执行手册及标准) ...
- Myeclipse中误报错误解决办法
下午写jsp页面的时候,用了一个js文件,拖到MyEclipse下了报错,开始还以为是js文件问题,折腾了半天,后来才知道原来是Myeclipse误报错误.真坑爹啊呀~~ 解决方法: 点击你需要忽略错 ...
- poj 1636 Prison rearrangement
Prison rearrangement Time Limit: 3000MS Memory Limit: 10000K Total Submissions: 2158 Accepted: ...