java selenium 處理Iframe 中的元素
有時候我們定位元素的時候,發現怎麼都定位不了。 這時候你需要查一查你要定位的元素是否在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//[email protected]//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"); }以上就是java selenium處理Iframe中的元素的示例,後續繼續整理相關資料,謝謝大家對本站的支持!