有時候咱們定位元素的時候,發現怎麼都定位不了。 這時候你須要查一查你要定位的元素是否在iframe裏面html
閱讀目錄this
iframe 就是HTML 中,用於網頁嵌套網頁的。 一個網頁能夠嵌套到另外一個網頁中,能夠嵌套不少層。spa
// 進入 id 叫frameA 的 iframe dr.switchTo().frame("frameA");
// 回到主窗口 dr.switchTo().defaultContent();
main.htmlcode
<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.htmlhtm
<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 代碼blog
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"); }