(10)selenium Frame 切换操作

1.什么是Frame

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

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

2.如何查看Frame

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

QQYX1.png

通过元素的搜索:

这个是登陆界面的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()

下一章,实战操作下。

你可能感兴趣的:((10)selenium Frame 切换操作)