uiautomator2自动化安卓手机操作
·
环境安装:通过 pip 安装库本身
pip install -U uiautomator2
首次连接设备时,通常需要运行初始化命令,将必要的守护进程推送到手机
python -m uiautomator2 init
连接设备:确保手机开启“开发者选项”和“USB调试”。连接后,用以下代码验证
import uiautomator2 as u2
d = u2.connect() # 自动连接
print(d.info) # 打印设备信息,成功则显示分辨率、SDK版本等
uiautomator2 的核心是定位元素,推荐优先使用 text 或 resourceId,因为它们最直观且稳定-3-11。
-
文本定位:
d(text="精选").click() -
资源 ID 定位:
d(resourceId="com.example:id/button").click() -
描述定位:
d(description="更多选项").click() -
组合定位:
d(className="android.widget.TextView", text="好友动态")
进阶定位——XPath:当元素属性不明显或需要复杂层级关系时,XPath 非常灵活-7。
# 查找包含特定文本的元素
d.xpath('//*[contains(@text, "登录")]').click()
# 简写规则:@ 代表 resourceId
d.xpath('@com.example:id/title')
d(text="我的").click() # 点击
d(text="Views").long_click(2) # 长按 2 秒
d(className="EditText").send_keys("hello") # 输入文本
d.swipe_ext("up", scale=0.8) # 向上滑动屏幕
等待与同步:显式等待比 sleep 更稳定,能有效避免因网络或动画导致的失败
d(text="加载完成").wait(timeout=10.0) # 等待元素出现,最多 10 秒
d(text="弹窗").wait_gone(timeout=5.0) # 等待元素消失
弹窗监控:自动处理常见的系统权限弹窗,避免测试中断
d.watcher.when("允许").click() # 当出现“允许”按钮时自动点击
d.watcher.start() # 启动监控
==================================================================
强烈推荐使用 UIAutoDev 工具:它能在浏览器中实时查看界面元素树,帮你快速生成定位代码,极大提升效率
确保电脑已安装 Python(建议 3.8 以上),然后执行
pip install -U uiautodev
如果需要连接鸿蒙设备,可以改用
pip install "uiautodev[harmony]"
cmd命令:
uiauto.dev
ATX可以授权悬浮窗。
更多推荐




所有评论(0)