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");  
        }
    复制代码
  • 相关阅读:
    8. String to Integer (atoi)
    PHP Warning: strftime(): It is not safe to rely on the system's timezone set
    Jackson 使用
    用vim去掉utf-8 BOM
    oracle 11g 从 dmp 文件中导出 sql 代码 的方法.
    git gitosis 添加项目
    Linux gcc和gdb程序调试用法 {转}
    Dos中转义符
    HTML样式链接到外部样式表
    转:财富与智慧
  • 原文地址:https://www.cnblogs.com/nieliangcai/p/7149116.html
Copyright © 2011-2022 走看看