iframe:
iframe 就是一個特殊的html 元素, 它在原來的html 范圍內,開辟了一個新的HTML。
iframe 元素會創建包含另外一個文檔的內聯框架(即行內框架)
理解:網頁嵌套網頁
frameset: frameset 元素可定義一個框架集。它被用來組織多個窗口(框架)。每個框架存有獨立的文檔。
<html> <frameset cols="25%,50%,25%"> <frame src="frame_a.htm" /> <frame src="frame_b.htm" /> <frame src="frame_c.htm" /> </frameset> </html>
兩者的區別是:
iframe 用於在網頁內顯示網頁。和frameset不同的是,
frameset內置好幾個子html
而iframe 只內置一個子html
webdriver 切換frame方法:driver.switch_to.frame(frame_reference)
frame_reference:
以QQ郵箱登錄界面查找賬號密碼登錄元素為例:
- frame 元素的 name 屬性值 或者ID屬性值 :driver.switch_to.frame('login_frame')
- 索引值 (從0開始):0 driver.switch_to.frame(1)
- frame 所對應的WebElement:driver.switch_to.frame(driver.find_element_by_id('login_frame'))
嵌套frame中如何逐層切換?
<html> <iframe id="layer1"> <iframe id="layer2" / > </iframe> </html>
操作:
嵌套frame需要一層一層的切換
driver.switch_to.frame('layer1') driver.switch_to.frame('layer2') 返回上一層frame driver.switch_to.parent_frame() 從里面的frame切換回主HTML driver.switch_to.default_content()