HTML <iframe> 标签
定义:iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。
frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位
而frame与iframe对selenium定位而言是一样的,selenium有一组方法对frame进行操作。
 
1、怎么切到frame中(switch_to.frame())
  selenium提供了switch_to.frame()方法来切换frame
  switch_to.frame(reference):reference是传入的参数,用来定位frame,可以传入id、name、index以及selenium的WebElement对象
  通常采用id和name就能够解决绝大多数问题。但有时候frame并无这两项属性,用xpath定位,传入WebElement对象
 
举个例子:
  <iframe src="myframetest.html" />
  driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src,'myframe')]")));
 
2、从frame中切回主文档(switch_to.default_content())
  切到frame中之后,我们便不能继续操作主文档的元素,这时如果想操作主文档内容,则需切回主文档。
  driver.switch_to.default_content()
 
3、嵌套frame的操作(switch_to.parent_frame())
  有时候我们会遇到嵌套的frame,如下:
  <html> <iframe id="frame1"> <iframe id="frame2" / > </iframe> </html>
 
***从主文档切到frame2,一层层切进去***
  driver.switch_to.frame("frame1") driver.switch_to.frame("frame2")
  driver.switch_to.parent_frame() # 如果当前已是主文档,则无效果
 
  有了parent_frame()这个相当于后退的方法,我们可以随意切换不同的frame,随意的跳来跳去了。
  所以只要善用以下三个方法,遇到frame分分钟搞定:
  driver.switch_to.frame(reference) driver.switch_to.parent_frame() driver.switch_to.default_content()
 
  注意: iframe使用后必须跳出来,否则无法定位其它元素
  跳出方法: driver.switchTo().defaultContent();
 

操作Frame和IFrame中页面元素的更多相关文章

  1. selenium自动化测试入门 定位frame和iframe中的元素对象

    < frame> <iframe> 标签,浏览器会在标签中打开一个特定的页面窗口(框架),它在本窗口中嵌套进入一个网页,当用selenium定位页面元素的时候会遇到定位不到fr ...

  2. selenium-java,定位并操作frame和iframe内的元素

    因为frame和iframe的原因,在frame里的元素不能直接定位需要切到相应的frame才可以对元素进行操作,下面是涉及的方法 webDriver.switchTo().defaultConten ...

  3. Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素

    一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然 ...

  4. 使用jquery操作iframe中的元素

    使用jquery操作iframe中的元素<iframe src="/test/demo.htm" width="99%" height="300 ...

  5. C#】通过遍历IFrame访问页面元素

    最近在做一个小项目,期间需要用到C#去操作IE页面中的元素,实现自动填写表单并且提交的功能,想这网上关于这方面的东西肯定很多,于是开始在网上找资料. 在逆心的博客上找到些东西对自己帮助很大,原文链接: ...

  6. Selenium_webdriver获取iframe子页面元素

    有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题.这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一.如果你在一 ...

  7. JQuery调用iframe父页面元素与方法

    JQuery操作iframe父页面与子页面的元素与方法 下面简单使用Jquery来操作iframe的一些记录,这个使用纯JS也可以实现. 第一.在iframe中查找父页面元素的方法: $('#id', ...

  8. 【学习】如何用jQuery获取iframe中的元素

    (我的博客网站中的原文:http://www.xiaoxianworld.com/archives/292,欢迎遇到的小伙伴常来瞅瞅,给点评论和建议,有错误和不足,也请指出.) 说实在的,以前真的很少 ...

  9. Js/Jquery获取iframe中的元素

    转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...

随机推荐

  1. mshta 反弹shell

    kali系统准备: 复制以下ruby代码到/usr/share/metasploit-framework/modules/exploits/windows/smb/msh_shell.rb目录(要注意 ...

  2. PPPOE拨号上网流程及密码窃取具体实现

    楼主学生党一枚,最近研究netkeeper有些许心得. 关于netkeeper是调用windows的rasdial来进行上网的东西,网上已经有一大堆,我就不赘述了. 本文主要讲解rasdial的部分核 ...

  3. jQuer __Ajax DOM

    链接:在线jQueryhttp://www.bootcdn.cn   一.each(遍历)   $("ul li").each(function(index,value){ ale ...

  4. Hibernate学习(五)Hibernate 多对多映射

    说到多对多关系,印象最深刻的就是大学的选修课.一个学生可以选修多门课程,一门课程可以有多个学生选修,学生所选的每一门课程还有成绩.这个场景的E-R图如下: 对于多对多的关系,我们通常会抽出一张中间表( ...

  5. 《跟我学IDEA》二、配置maven、git、tomcat

    上一篇博文我们讲解了如何去下载并安装一个idea,在这里我们推荐的是zip的解压版,另外我们配置的一些编码和默认的jdk等.今天我们来学习配置maven.git.tomcat等.还是那句话,工欲善其事 ...

  6. Java----list常用方法汇总

    package ListTest; import java.util.ArrayList; import java.util.Iterator ; import java.util.List; /** ...

  7. 单源最短路径 dijkstra算法实现

    本文记录一下dijkstra算法的实现,图用邻接矩阵表示,假设图为无向图.而且连通,有向图,不连通图的做法相似. 算法简述: 首先确定"单源"的源.假设是第0个顶点. 维护三个数组 ...

  8. 7、创建ROS msg和srv

    一.msg和srv介绍 msg: msg文件使用简单的文本格式声明一个ROS message的各个域. 仅须要创建一个msg文件,就能够使用它来生成不同语言的message定义代码. srv:srv文 ...

  9. SSH Secure Shell显示serverTomcat后台内容

    作为linux小白,仅仅有学一点记一点了: 部署server的时候.常常须要向本地一样查看控制台输出,在linux上能够通过查看日志输出替代,当然也能够通过命令让日志实时显示在命令窗体,这对用惯了wi ...

  10. SQL运行时间

    打开SQL运行时间统计  set timing on; 查询是否有运行时间较长的SQL存在  select a.sid, b.sql_text   from v$session a, v$sqlare ...