这里有新鲜出炉的Java函数式编程,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本文主要介绍java selenium处理Iframe中的元素,这里整理了相关资料并附有示例代码和实现方法,有需要的小伙伴可以参考下
java selenium 处理Iframe 中的元素
有时候我们定位元素的时候,发现怎么都定位不了。 这时候你需要查一查你要定位的元素是否在iframe里面
阅读目录
什么是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");
- }
来源: http://www.phperz.com/article/17/1118/360235.html