java selenium (十四) 处理Iframe 中的元素
2016-03-12 19:51
441 查看
有时候我们定位元素的时候,发现怎么都定位不了。 这时候你需要查一查你要定位的元素是否在iframe里面
阅读目录
main.html
frame.html
selenium 代码
阅读目录
什么是iframe
iframe 就是HTML 中,用于网页嵌套网页的。 一个网页可以嵌套到另一个网页中,可以嵌套很多层。selenium 中提供了进入iframe 的方法
// 进入 id 叫frameA 的 iframe dr.switchTo().frame("frameA"); // 回到主窗口 dr.switchTo().defaultContent();
main.html
<html> <head> <title>FrameTest</title> </head> <body> <div id="id1">this is main page's div!</div> <input type="text" id="maininput" /> <br/> <iframe id="frameA" frameborder="0" scrolling="no" style="left:0;position:absolute;" src="frame.html"></iframe> </body> </html>
frame.html
<html> <head> <title>this is a frame!</title> </head> <body> <div id="div1">this is iframes div,</div> <input id="iframeinput"></input> </body> </html>
selenium 代码
public static void testIframe(WebDriver driver) { driver.get("E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\浦东软件园培训中心\\我的教材\\Selenium Webdriver\\frame\\main.html"); // 在 主窗口的时候 driver.findElement(By.id("maininput")).sendKeys("main input"); // 此时 没有进入到iframe, 以下语句会报错 //driver.findElement(By.id("iframeinput")).sendKeys("iframe input"); driver.switchTo().frame("frameA"); driver.findElement(By.id("iframeinput")).sendKeys("iframe input"); // 此时没有在主窗口,下面语句会报错 //driver.findElement(By.id("maininput")).sendKeys("main input"); // 回到主窗口 driver.switchTo().defaultContent(); driver.findElement(By.id("maininput")).sendKeys("main input"); }
相关文章推荐
- java selenium (十三) 智能等待页面加载完成
- java selenium (十二) 操作弹出窗口
- java selenium (十一) 操作弹出对话框
- java selenium (十) 操作浏览器
- ubuntu软件安装五 eclipse和配置pydev
- java selenium (八) Selenium IDE 用法
- java selenium (五) 元素定位大全
- java selenium (四) 使用浏览器调试工具
- java selenium (三) 环境搭建 基于Maven
- java selenium (二) 环境搭建方法一
- java selenium (一) selenium 介绍
- Java NIO Overview
- 23中java设计模式之单例模式
- Java NIO Tutorial
- 和Eclipse一起走过的日子
- eclipse启动失败
- Eclipse中将classes文件删除之后显示:找不到或无法加载主类解决方案
- spring @RequestBody The request sent by the client was syntactically incorrect.
- Java线程:概念与原理
- 用JAVA(Myeclipse)实现可视化日历