java selenium处理Iframe中的元素示例
javaselenium 处理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> <divid="id1">thisismainpage'sdiv!</div> <inputtype="text"id="maininput"/> <br/> <iframeid="frameA"frameborder="0"scrolling="no"style="left:0;position:absolute;"src="frame.html"></iframe> </body> </html>
frame.html
<html> <head> <title>thisisaframe!</title> </head> <body> <divid="div1">thisisiframesdiv,</div> <inputid="iframeinput"></input> </body> </html>
selenium代码
publicstaticvoidtestIframe(WebDriverdriver) { driver.get("E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\浦东软件园培训中心\\我的教材\\SeleniumWebdriver\\frame\\main.html"); //在主窗口的时候 driver.findElement(By.id("maininput")).sendKeys("maininput"); //此时没有进入到iframe,以下语句会报错 //driver.findElement(By.id("iframeinput")).sendKeys("iframeinput"); driver.switchTo().frame("frameA"); driver.findElement(By.id("iframeinput")).sendKeys("iframeinput"); //此时没有在主窗口,下面语句会报错 //driver.findElement(By.id("maininput")).sendKeys("maininput"); //回到主窗口 driver.switchTo().defaultContent(); driver.findElement(By.id("maininput")).sendKeys("maininput"); }
以上就是javaselenium处理Iframe中的元素的示例,后续继续整理相关资料,谢谢大家对本站的支持!