手机自动化控制:Python+uiautomator2教程

好的!以下是一个使用Python和uiautomator2进行手机自动化控制的简明教程:


一、环境准备

  1. 安装Python(推荐3.7+版本)

  2. 安装库:

    bash 复制代码
    pip install uiautomator2 weditor
  3. 手机开启USB调试模式(设置 > 开发者选项)


二、初始化设备连接

通过USB连接手机后执行:

python 复制代码
import uiautomator2 as u2

# 方式1:通过设备ID连接(adb devices获取)
d = u2.connect("设备ID")

# 方式2:通过WiFi连接(需先USB初始化一次)
d = u2.connect("192.168.x.x")

三、基础操作示例

python 复制代码
# 点击操作
d.click(100, 200)       # 坐标点击
d(text="设置").click()  # 文本点击

# 输入文本
d(focused=True).set_text("HelloWorld")

# 滑动屏幕
d.swipe(500, 1500, 500, 500)  # 从下往上滑动

四、元素定位方法

python 复制代码
# 通过资源ID
d(resourceId="com.android.settings:id/title").click()

# 通过文本+类名
d(className="android.widget.TextView", text="Wi-Fi").click()

# 通过描述(content-desc)
d(description="返回").click()

五、高级功能

  1. 监控界面变化

    python 复制代码
    d.watch("跳过", lambda el: el.click())
  2. 截图保存

    python 复制代码
    d.screenshot("home.jpg")

六、可视化定位工具

启动UI查看器:

bash 复制代码
python -m weditor

浏览器访问 http://localhost:17310 可实时查看元素结构。


七、常见问题

  1. 连接失败:检查adb devices是否识别设备
  2. 点击无效:尝试d.delay(2)添加延迟
  3. 元素找不到:使用weditor确认元素属性

通过上述步骤,你可以快速实现APP自动化测试、批量操作等任务。完整文档参考:uiautomator2 GitHub

相关推荐
小瑞瑞acd15 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
火车叼位16 小时前
也许你不需要创建.venv, 此规范使python脚本自备依赖
python
火车叼位16 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
孤狼warrior16 小时前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
Katecat9966316 小时前
YOLO11分割算法实现甲状腺超声病灶自动检测与定位_DWR方法应用
python
玩大数据的龙威17 小时前
农经权二轮延包—各种地块示意图
python·arcgis
ZH154558913117 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
belldeep17 小时前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
喵手17 小时前
Python爬虫实战:电商价格监控系统 - 从定时任务到历史趋势分析的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·电商价格监控系统·从定时任务到历史趋势分析·采集结果sqlite存储
喵手17 小时前
Python爬虫实战:京东/淘宝搜索多页爬虫实战 - 从反爬对抗到数据入库的完整工程化方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·京东淘宝页面数据采集·反爬对抗到数据入库·采集结果csv导出