说明:本篇博客基于selenium 4.1.0
场景说明
场景:页面存在frame、iframe嵌套结构。frame是html中的一种标签,可在一个页面中拼接多个网页
问题:selenium不能直接定位和操作处于frame、iframe内的元素
解决:使用selenium的frame切换功能,切换到frame内后再进行操作
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDAHH3u2-1664258840309)(upload://o26ACAb0DiroDSAGCnAGh4iMiRV.png)]](https://i-blog.csdnimg.cn/blog_migrate/bcd9147a73b401dbb89704c1cc6d854d.png)
切换步骤
# 步骤1:根据frame定位,创建frame对象
ele_frame = driver.find_element(By.XPATH, '/html/body/iframe')
# 步骤2:传入frame对象,切换到对应frame中
# 备注:
# 1.可直接传入frame的id、name信息
# 2.可直接传入frame的frame编号,dom结构中的第一个frame编号为0
# 3.存在frame嵌套,即frame中的frame,需要一层层的进入
driver.switch_to.frame(ele_frame)
# 步骤3:退出当前frame
driver.switch_to.default_content() # 切换到默认frame
driver.switch_to.parent_frame() # 切换到父级frame
示例
import

本文介绍如何使用Selenium处理页面中的frame及iframe结构。通过切换到指定的frame内,可以实现对嵌套页面元素的操作。文章提供了详细的步骤和示例代码。
最低0.47元/天 解锁文章
1870

被折叠的 条评论
为什么被折叠?



