很多時候我們遇到多層級的iframe會想各種方法去獲取iframe中的元素,但其實很簡單可以做到的,是一級一級獲取可以了,獲取至你需要的那個層級即可,下面看下實際的案例;
<frame src="" id="index_main" name="main" scrolling="Yes" noresize="noresize">
<iframe id="Editor1" src="" frameborder="0" scrolling="no" >
<iframe id="eWebEditor" width="" height="" scrolling="yes" frameborder="0" src="">
<input type="text" id="TeacherTxt" name="Teacher" size="12" maxlength="12" >
</iframe>
</iframe>
</iframe>
示例:
@Test
public void phoneLogin() throws Exception{
WebDriver chrome = new ChromeDriver();
chrome.switchTo().frame("index_main");
chrome.switchTo().frame("Editor1");
chrome.switchTo().frame("eWebEditor");
chrome.findElement(By.id(" TeacherTxt")).sendKeys("測試Iframe");
chrome.switchTo().defaultContent();
}
注意:后只需要退出一次iframe即可;