Python 求助大佬:UI 自动化测试,实现浏览器驱动完成自动登录操作,执行程序一直提示无法定位元素

Jwf666 · 2025年11月28日 · 最后由 Jwf666 回复于 2025年11月28日 · 3506 次阅读

1、第一步:打开登录页面,有 3 种登录方式,默认是 “微信登录”,执行代码后可将登录方式切换到” 短信登录”,这个操作应该没有问题

2、第二步:切换到 “短信登录” 后,需要将变量值(手机号)填充到 “请输入您的手机号”,执行代码一直提示无法定位元素,询问 AI 后,尝试了以下多种定位元素的方式,执行后,都是一样的结果,目前没有报错提示信息了,但是功能也没有实现,还是没有自动填充手机号,不知道问题出在哪里



目前阻塞在第二步,无法填充手机号,代码无法往下执行,望各位大佬指点一二。

共收到 9 条回复 时间 点赞

class 里面不是有两个吗,你只找一个定位不到

建议用 playwright

妈的,半年没搞自动化了,都看不懂了

你这个账密登录的前面还有一个手机验证登录,里面也有一个这样的输入框,所以你很有可能是定位到第一个手机输入框去了,你可以 (//*[@placeholder='请输入您的手机号'])[2] 试试,实在不行就要根据父级元素 + 兄弟元素组合,找到 “密码登录” 界面里的这个手机输入框了

5楼 已删除

建议直接把 xpath 表达式复制下来,在 F12 开发者工具里面输入 xpath 表达式看究竟定位到了哪个元素或多个元素

感觉是点击切换短信注册方式这一步的问题,没切换到目标页面,调试的时候看一下页面表现,打个断点看看页面元素

少一个 phone_input.click()

来狠点,直接绝对路径

苟蛋 回复

解决了,感谢大佬😊
我以为已经切换到 “短信登录” tab 了,就认为它就只能定位到当前的手机号输入框了
整了好几天,之前换了好几种定位元素的方法,都没有解决,今天终于解决了,开心~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册