为什么80%的码农都做不了架构师?>>>   hot3.png

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相关推荐

  1. Selenium webdriver定位iframe里面元素两种方法

    以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login& ...

  2. Selenium Webdriver——操作隐藏的元素(三)switchTo().frame()

    在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对 于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过swit ...

  3. python webdriver点击指令_测开系列Selenium Webdriver Python(20)--Webdriver运行原理

    Webdriver运行原理 转帖请注明出处!谢谢 在开发Webdriver的自动化脚本过程中,Webdriver后台在创建WebDriver实例的过程中,先确认浏览器的原生组件中是否存在可匹配的版本. ...

  4. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  5. Selenium Webdriver 简易教程

    Selenium是ThroughtWorks公司开发的一套Web自动化测试工具. 它分为三个组件: Selenium IDE Selenium RC (Remote Control) Selenium ...

  6. Selenium WebDriver Api 知识梳理

    之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 #id定位 driver.find_element_by_id()#na ...

  7. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档: http://selenium.googlecode.com/git/docs/api/py/index.html 目录 一.selenium+python 环境搭建..... ...

  8. selenium webdriver使用

    selenium使用 引言 1.selenium课程概要 2.selenium的介绍 2.1selenium工作原理 2.2selenium模块与driver的安装 2.2.1 在python虚拟机环 ...

  9. 测开系列Selenium Webdriver Python(21)--元素定位2

    以上学习的是element的基本属性和方法,那么验证点添加的技巧和方式是什么呢?我们知道自动化的过程就是人的手工测试的过程,在手工测试中需要人来判断业务是否达到需求要求,那么在自动化脚本中就要加入程序 ...

最新文章

  1. java抛出数组格式异常,Java中异常
  2. 2018-2019-2 网络对抗技术 20165337 Exp4 恶意代码分析
  3. 题目1164:旋转矩阵
  4. git pull问题“error: Your local changes to the following files would be overwritten by merge”解决方案
  5. objective-c 类目(Category)和延展(Extension)
  6. python编程能力等级测试_青少年编程能力等级测评-Python编程二级试卷
  7. myeclipse2013 jad反编译插件安装
  8. 数据结构之链式队列的优化
  9. 结对项目编程之代码进展
  10. web开发模式+三层架构与MVC
  11. 互联网大数据对教育的重要性
  12. zigzag矩阵按照之字形线路产生方法(C++)
  13. Linux中级之keepalived配置
  14. 怪兽充电启动招股:2020年业绩下滑五成,小米、高瓴参与认购
  15. c语言编译九行菱形,C语言打印菱形
  16. 清除服务器传输文件记录,Sqlserver2012清除服务器连接记录(服务器名称历史记录清除)...
  17. citrix VPX 中申请证书的重点
  18. Linux下lsb_release命令的安装教程
  19. VMware安装虚拟机
  20. 1100 校庆(JAVA)

热门文章

  1. 查看mysql创建 数据库_Mysql创建数据库和查看数据库
  2. 库管小帮手服务器修复,文达库管小帮手
  3. python声明匿名函数_举例讲解Python的lambda语句声明匿名函数的用法
  4. ASP.NET的CreateUserWizard
  5. html 游戏首页,30个让人玩上瘾的HTML5游戏
  6. 杂志订阅管理系统c语言实训报告,C语言程序设计报告—杂志订阅管理软件、、.doc...
  7. linux c开发项目,linux c 服务器开发项目
  8. python缩进问题idle_Python IDLE中的缩进问题
  9. python安装失败未指定_windows 7 32bit安装 python3.5.0 安装错误 0x80240017 -未指定错误...
  10. layui模板引擎laytpl判断为null或为空