欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java selenium处理Iframe中的元素示例

程序员文章站 2024-03-13 18:45:21
java selenium  处理iframe 中的元素 有时候我们定位元素的时候,发现怎么都定位不了。 这时候你需要查一查你要定位的元素是否在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"); 
  }

以上就是java selenium处理iframe中的元素的示例,后续继续整理相关资料,谢谢大家对本站的支持!