selenium webdriver (6) -- iFrame
为什么80%的码农都做不了架构师?>>>
selenium提供了frame切换,但不像窗口,提供句柄,当然为了能够切换,它提供了就不是一个函数
driver.switch_to_frame("frameName") #切换到frameName里可以是name, locator,id
driver.switch_to_frame("frameName.0.child")
driver.switch_to_default_contents() #切换出当前frame
我们经常定位不到元素,明明可以看到,却定位不到,大多跟frame有关,如登录163邮箱页面
from selenium import webdriver
import timedriver = webdriver.Firefox()
driver.get('http://mail.163.com')print 'Before login-------------------------------------'#print current page title
title = driver.title
print titlenow_url = driver.current_url
print now_urldriver.switch_to_frame("x-URS-iframe") #非常容易遗忘这个frame
driver.find_element_by_name("email").clear()
driver.find_element_by_name("email").send_keys("XXXX")
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys("XXXXXX")
driver.find_element_by_id("dologin").click()
time.sleep(10)print 'After login --------------------------------------'
# print title again
title = driver.title
print title#print url again
now_url = driver.current_url
print now_url#print login user
user = driver.find_element_by_id("spnUid").text
print userdriver.close()
同时我们还会遇到这么一个场景,一个页面由两块组成,一侧是sidebar-frame, 另一侧是content-frame,此时你需要先定位一个元素在sidebar-frame中,随后你又要定位到另一个content-frame中的元素,这时你不能直接定位,而需要先切换出之前进入的frame再进入到所要定位元素的frame,再定位元素
driver.switch_to_frame("sidebar_frame")
driver.find_element_by_id("network")
driver.switch_to_default_contents()
driver.switch_to_frame("content_frame")
driver.find_element_by_id("interface")
参考:
《Selenium2自动化测试实战》
《selenium python buildings release 2》
转载于:https://my.oschina.net/hding/blog/725112
selenium webdriver (6) -- iFrame相关推荐
- Selenium webdriver定位iframe里面元素两种方法
以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login& ...
- Selenium Webdriver——操作隐藏的元素(三)switchTo().frame()
在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对 于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过swit ...
- python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理
Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...
- Selenium WebDriver + python 自动化测试框架
目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...
- Selenium Webdriver 简易教程
Selenium是ThroughtWorks公司开发的一套Web自动化测试工具. 它分为三个组件: Selenium IDE Selenium RC (Remote Control) Selenium ...
- Selenium WebDriver Api 知识梳理
之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 #id定位 driver.find_element_by_id()#na ...
- selenium webdriver (python)的基本用法一
阅在线 AIP 文档: http://selenium.googlecode.com/git/docs/api/py/index.html 目录 一.selenium+python 环境搭建..... ...
- selenium webdriver使用
selenium使用 引言 1.selenium课程概要 2.selenium的介绍 2.1selenium工作原理 2.2selenium模块与driver的安装 2.2.1 在python虚拟机环 ...
- 测开系列Selenium Webdriver Python(21)--元素定位2
以上学习的是element的基本属性和方法,那么验证点添加的技巧和方式是什么呢?我们知道自动化的过程就是人的手工测试的过程,在手工测试中需要人来判断业务是否达到需求要求,那么在自动化脚本中就要加入程序 ...
最新文章
- java抛出数组格式异常,Java中异常
- 2018-2019-2 网络对抗技术 20165337 Exp4 恶意代码分析
- 题目1164:旋转矩阵
- git pull问题“error: Your local changes to the following files would be overwritten by merge”解决方案
- objective-c 类目(Category)和延展(Extension)
- python编程能力等级测试_青少年编程能力等级测评-Python编程二级试卷
- myeclipse2013 jad反编译插件安装
- 数据结构之链式队列的优化
- 结对项目编程之代码进展
- web开发模式+三层架构与MVC
- 互联网大数据对教育的重要性
- zigzag矩阵按照之字形线路产生方法(C++)
- Linux中级之keepalived配置
- 怪兽充电启动招股:2020年业绩下滑五成,小米、高瓴参与认购
- c语言编译九行菱形,C语言打印菱形
- 清除服务器传输文件记录,Sqlserver2012清除服务器连接记录(服务器名称历史记录清除)...
- citrix VPX 中申请证书的重点
- Linux下lsb_release命令的安装教程
- VMware安装虚拟机
- 1100 校庆(JAVA)
热门文章
- 查看mysql创建 数据库_Mysql创建数据库和查看数据库
- 库管小帮手服务器修复,文达库管小帮手
- python声明匿名函数_举例讲解Python的lambda语句声明匿名函数的用法
- ASP.NET的CreateUserWizard
- html 游戏首页,30个让人玩上瘾的HTML5游戏
- 杂志订阅管理系统c语言实训报告,C语言程序设计报告—杂志订阅管理软件、、.doc...
- linux c开发项目,linux c 服务器开发项目
- python缩进问题idle_Python IDLE中的缩进问题
- python安装失败未指定_windows 7 32bit安装 python3.5.0 安装错误 0x80240017 -未指定错误...
- layui模板引擎laytpl判断为null或为空