• java selenium (十四) 处理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");  
        }
    复制代码
  • 相关阅读:
    夜半饮酒
    邀你到成都来
    成都,我的天堂
    真不想松开你的手
    创业,你懂如何求人办事么?
    只要你愿意
    【五月的歌】重振山河
    成都,我爱你
    就算忘了自己也忘不了你
    假如
  • 原文地址:https://www.cnblogs.com/MarchThree/p/7258123.html
Copyright © 2020-2023  润新知