《手把手教你》系列技巧篇(四十一)-java+|《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)

1.简介
原估计宏哥这里就不对iframe这个知识点做介绍和讲解了,因为前边的窗口切换就为这种网页处理提供了思路,另一个原因就是虽然iframe很强大,但是现在很少有网站用它了。但是还是有小伙伴或者童鞋们私下问这个问题,那么宏哥就单独写一篇关于iframe网页处理的文章。
2.iframe是什么
【《手把手教你》系列技巧篇(四十一)-java+|《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)】iframe就是我们常用的iframe标签:


2.准备测试练习iframe.html,如下:
I am a iframe! - 锐客网
I am iframes div!

3.页面效果,如下图所示:
《手把手教你》系列技巧篇(四十一)-java+|《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)
文章图片

5.代码实战练习
5.1代码设计 《手把手教你》系列技巧篇(四十一)-java+|《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)
文章图片

5.2参考代码
package lessons; import java.util.concurrent.TimeUnit; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe(详解教程) * * 2021年11月7日 */ public class testIframe {@Test public void testRadio() throws InterruptedException { System.setProperty("webdriver.gecko.driver", ".\\Tools\\chromedriver.exe"); WebDriver driver =null; driver =new ChromeDriver(); driver.get("file:///C:/Users/DELL/Desktop/test/iframe/index.html"); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); // 在 主窗口的时候 driver.findElement(By.id("maininput")).sendKeys("This is a main input!"); // 此时 没有进入到iframe, 以下语句会报错 //driver.findElement(By.id("iframeinput")).sendKeys("iframe input"); driver.switchTo().frame("frameA"); driver.findElement(By.id("iframeinput")).sendKeys("This is a iframe input!"); // 此时没有在主窗口,下面语句会报错 //driver.findElement(By.id("maininput")).sendKeys("main input"); // 回到主窗口 driver.switchTo().defaultContent(); driver.findElement(By.id("maininput")).sendKeys("This is a main input!"); }}

5.3运行代码 1.运行代码,右键Run AS->Junit Test,控制台输出,如下图所示:
《手把手教你》系列技巧篇(四十一)-java+|《手把手教你》系列技巧篇(四十一)-java+ selenium自动化测试 - 处理iframe -上篇(详解教程)
文章图片

2.运行代码后电脑端的浏览器的动作,如下小视频所示:
6.小结
好了,时间不早了,今天就分享到这里,下一篇宏哥找一个还有iframe的在线网页给小伙伴或者童鞋们实战演示一下。

    推荐阅读