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()