(10)selenium Frame 切换操作

1.什么是Frame

有时候会发现,有的元素,方法代码是没有错的,但是为什么点击不到。这个就有可能是Frame之间的嵌套,需要切换到该元素的Frame里面才能来点击。
下面我们以QQ邮箱网页来做一个例子吧。

https://mail.qq.com/cgi-bin/loginpage

2.如何查看Frame

鼠标点击就会显示在哪个Frame

QQYX1.png

通过元素的搜索:<iframe 可以查看到所有的Frame。

<iframe id="login_frame" name="login_frame" height="100%" 
.....>
</iframe>

这个是登陆界面的iframe。我们需要切换到该页面,之后才能进行点击的操作

#获取该元素iframe
elment =driver.find_element_by_id("login_frame")
#切换到该frame
driver.switch_to.frame(elment)

3.多层Frame切换

有时候,Frame下面还有一层Frame,那么你需要先切换到上面的那层,之后在切换到你需要的那层,就是一层一层的切换。

#一层一层切换
driver.switch_to.frame("frame1")  
driver.switch_to.frame("frame2")

#从子frame切回到父frame
switch_to.parent_frame()相当于driver.switch_to.frame("frame1")  

#切换到主frame默认的
driver.switch_to.default_content()

下一章,实战操作下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容