尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

解决python--UI自动化iframe切换问题

解决python--UI自动化iframe切换问题
📅 发布时间:2026/6/18 23:41:06

最近同事在学Python+selenium UI自动化,遇到一些问题,其中有个涉及iframe切换的问题,记录下方面有需要的人可以参考查阅。

从他问题描述和代码,代码思路清晰,自己打开https://www.126.com/ 网址

发现这个需要先点击登入密码,所以,他的代码少了一个动作,点击 密码登入 的操作,这个简单,加一个点击密码登入的代码操作就行

#点击 密码登入

driver.find_element_by_id("switchAccountLogin").click()

然后进入用户密码登入界面

【问题】

加上点击密码登入,进入用户密码登入页面,接着直接执行上面的代码,会提示元素定位不到

1、以为是元素没加载出来,加了延时sleep()、显式等待都不行2:然后想着是否定位出了问题

换了 xpath 定位 、 相对定位、 css定位、 find_elements_by_tag_name 、find_elements_by_class_name ,都不行,一样报找不到元素 。

没用 id 元素定位,因为 id是动态id,肯定不行

然后想到可能是iframe的问题,细心查看下,果然是:

用户登入输入框在不在当前iframe,需要切换到这个iframe里面才能操作

问题找到了:接就是怎么切换到这个iframe了,发现这个iframe元素没有 classs,有name但没值

id 也是动态的,怎么定位好呢??

ok,方法是有的, 我们在这通过 by_tag_name 方法定位到iframe进行切换

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

切换后,再执行,OK好了,元素能定位到了,输入框成功执行了输入操作

PS:附上代码

第25——26行完整代码:

#显式等待元素出现再执行操作

#element= WebDriverWait(driver,10).until(expected_conditions.visibility_of(driver.find_element_by_xpath('//*[@id="login-form"]/div/div[1]/div[2]/input')))

# element.send_keys("123")

以上有不同的定位方式, 元素定位,相对定位 ,xpath定位 等

PS:补充

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

相关新闻

  • Jupyter魔法命令提升TensorFlow调试效率
  • 接口自动化不是救命稻草
  • 如何选择适合工业4.0的设备监控系统以提升智能制造水平?

最新新闻

  • 终极指南:用HoYo-Glyphs轻松获取11款米哈游游戏字体
  • CSM 模块完整讲解
  • Magistral Small:可解释逻辑推理模型本地部署指南
  • 揭秘AI写专著:AI专著写作工具大推荐,20万字专著轻松搞定!
  • 终极指南:如何在macOS上使用Whisky高效运行Windows应用
  • AI治理利益相关方分析:动态权力网络的实战测绘方法

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号