正文
webdriver切换frame的方法
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
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')返回上一层framedriver.switch_to.parent_frame()从里面的frame切换回主HTMLdriver.switch_to.default_content()