首页 > 编程语言 > 详细

java selenium (十四) 处理Iframe 中的元素

时间:2017-07-30 09:45:17      阅读:245      评论:0      收藏:0      [点我收藏+]

什么是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 中的元素

原文:http://www.cnblogs.com/MarchThree/p/7258123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!