当前位置: 首页 > news >正文

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

最近同事在学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:补充

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

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

http://www.rkmt.cn/news/187424.html

相关文章:

  • Jupyter魔法命令提升TensorFlow调试效率
  • 接口自动化不是救命稻草
  • 如何选择适合工业4.0的设备监控系统以提升智能制造水平?
  • 2025年市场评价高的微信朋友圈广告公司推荐,信息流广告代运营/抖音短视频矩阵、AI广告,微信朋友圈广告公司口碑推荐 - 品牌推荐师
  • 使用Git进行版本控制:避免TensorFlow实验结果丢失
  • 2025年福建西点咖啡培训学校排名:欧米奇评价如何? - 工业品网
  • 2025年口碑好的1:1大理石瓷砖制造商推荐,大理石瓷砖实力品牌全解析 - 工业设备
  • 【AI×实时Linux:极速实战宝典】gRPC优化 - 针对软实时服务调用的gRPC长连接管理与线程模型调优
  • Python强大且流行的爬虫库!
  • 2025年支持企业适应市场变化的战略灵活性
  • 2025年数据交易平台咨询TOP5推荐,教你选择高口碑的优质平台 - 睿易优选
  • 【Clang 17与C++26深度解析】:掌握下一代C++特性实战技巧
  • 新建Django项目+本地Mysql数据库demo
  • 揭秘cxx-qt底层机制:如何实现C++与Rust无缝通信并提升开发效率
  • 一文掌握DataFlow!这款超好用的LLM数据处理框架,建议收藏!
  • DiskInfo显示TensorFlow镜像块设备详细信息
  • 用 Python 轻松剖析 GPU 性能:NVIDIA nsight-python 包来帮忙!
  • 收藏!35岁程序员破局指南:从被裁到AI高薪,这篇实操手册帮你踩准风口
  • 写可靠安全的 CUDA 代码:编码规范 + 自动化检查的“双保险”
  • 2026仿石漆厂家最新推荐:上海岩首何以领跑液态石材新赛道? - 深度智识库
  • 2025天然蛋白/有机金属试剂/神经肽品牌TOP5权威推荐:阿拉丁国产科研试剂破局升级 - myqiye
  • 微信立减金怎么变成现金,推荐靠谱平台 - 京回收小程序
  • SSH批量管理多个TensorFlow 2.9镜像节点
  • Python自动整理音乐文件:按艺术家和专辑分类歌曲
  • DiskInfo分析TensorFlow数据预处理阶段IO性能
  • PyTorch安装教程GPU推理性能与TensorFlow实测对比
  • Conda环境克隆快速复制TensorFlow开发配置
  • GitHub Wiki构建TensorFlow项目文档知识库
  • 胶原蛋白粉哪个牌子好 2026权威临床数据指南 - 博客万
  • 你还在手写重复代码?,用C++26静态反射实现全自动序列化(效率提升10倍)