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()
下一章,实战操作下。
网友评论