服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - java selenium处理Iframe中的元素示例

java selenium处理Iframe中的元素示例

2020-06-04 11:30肖佳 JAVA教程

本文主要介绍java selenium处理Iframe中的元素,这里整理了相关资料并附有示例代码和实现方法,有需要的小伙伴可以参考下

java selenium  处理Iframe 中的元素

有时候我们定位元素的时候,发现怎么都定位不了。 这时候你需要查一查你要定位的元素是否在iframe里面

阅读目录

什么是iframe

iframe 就是HTML 中,用于网页嵌套网页的。 一个网页可以嵌套到另一个网页中,可以嵌套很多层。

selenium 中提供了进入iframe 的方法

?
1
2
3
4
5
6
// 进入 id 叫frameA 的 iframe
dr.switchTo().frame("frameA");
 
// 回到主窗口
dr.switchTo().defaultContent();

main.html

?
1
2
3
4
5
6
7
8
9
10
11
<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

?
1
2
3
4
5
6
7
8
9
<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 代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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中的元素的示例,后续继续整理相关资料,谢谢大家对本站的支持!

延伸 · 阅读

精彩推荐