zoukankan      html  css  js  c++  java
  • 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");  
        }
     
  • 相关阅读:
    Grunt中批量无损压缩图片插件--Grunt-contrib-imagemin
    移动端前端题
    前端面试题,不解释...
    HTMLFormElement获取表单里面所有的值然后以json形式返回
    关于 CommonJS AMD CMD UMD 规范的差异总结
    mysql库安装
    安装mysql到ubuntu
    一个致命的操作
    vim编辑器常规配置
    samba的安装与配置
  • 原文地址:https://www.cnblogs.com/TankXiao/p/5237189.html
Copyright © 2011-2022 走看看