java selenium (十四) 处理Iframe 中的元素_html/css_WEB-ITnose

WBOY
發布: 2016-06-24 11:24:25
原創
971 人瀏覽過

有时候我们定位元素的时候,发现怎么都定位不了。 这时候你需要查一查你要定位的元素是否在iframe里面

阅读目录

什么是iframe

iframe 就是HTML 中,用于网页嵌套网页的。 一个网页可以嵌套到另一个网页中,可以嵌套很多层。

selenium 中提供了进入iframe 的方法

// 进入 id 叫frameA 的 iframedr.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");      }
登入後複製
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板