news 2026/3/25 14:18:15

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python + uiautomator2 手机自动化控制教程

安装 uiautomator2 库

通过 pip 安装 uiautomator2 库,确保 Python 环境已配置。

pip install uiautomator2

初始化设备连接

使用设备的 IP 地址或序列号连接手机,确保手机已开启 USB 调试模式。

import uiautomator2 as u2 d = u2.connect("192.168.1.100") # 替换为设备 IP 或序列号

基本操作示例

点击屏幕上的元素,通过resourceIdtext定位。

d(resourceId="com.android.settings:id/title").click() d(text="Wi-Fi").click()

输入文本

在输入框中输入文本,使用set_text方法。

d(resourceId="com.android.settings:id/search").set_text("蓝牙")

滑动操作

模拟上下滑动屏幕,支持定向滑动(updownleftright)。

d.swipe("up") # 向上滑动 d.swipe("left", steps=20) # 快速左滑

https://www.zhihu.com/zvideo/1994901276425733593/
https://www.zhihu.com/zvideo/1994901272667656981/
https://www.zhihu.com/zvideo/1994901272294355097/
https://www.zhihu.com/zvideo/1994901272449553144/
https://www.zhihu.com/zvideo/1994901271505823296/
https://www.zhihu.com/zvideo/1994901271170289832/
https://www.zhihu.com/zvideo/1994901270696310273/
https://www.zhihu.com/zvideo/1994901267991003190/
https://www.zhihu.com/zvideo/1994901267244413927/
https://www.zhihu.com/zvideo/1994901266325845257/
https://www.zhihu.com/zvideo/1994901264136427136/
https://www.zhihu.com/zvideo/1994901263368884466/
https://www.zhihu.com/zvideo/1994901263087837333/
https://www.zhihu.com/zvideo/1994901261800207831/
https://www.zhihu.com/zvideo/1994901261288509918/
https://www.zhihu.com/zvideo/1994901259057133461/
https://www.zhihu.com/zvideo/1994901258402812280/
https://www.zhihu.com/zvideo/1994901258105017584/
https://www.zhihu.com/zvideo/1994901257698157195/
https://www.zhihu.com/zvideo/1994901256540534523/
https://www.zhihu.com/zvideo/1994901256720896600/
https://www.zhihu.com/zvideo/1994901255747817781/
https://www.zhihu.com/zvideo/1994901254095249788/
https://www.zhihu.com/zvideo/1994901253625516062/
https://www.zhihu.com/zvideo/1994901249846445257/
https://www.zhihu.com/zvideo/1994901247489241467/
https://www.zhihu.com/zvideo/1994901246071559193/
https://www.zhihu.com/zvideo/1994901246633603891/
https://www.zhihu.com/zvideo/1994901243513020475/
https://www.zhihu.com/zvideo/1994901239079646854/
https://www.zhihu.com/zvideo/1994901238165304480/
https://www.zhihu.com/zvideo/1994901237922014150/
https://www.zhihu.com/zvideo/1994901237645206228/
https://www.zhihu.com/zvideo/1994901234583372248/
https://www.zhihu.com/zvideo/1994901234210071846/
https://www.zhihu.com/zvideo/1994901232909841565/
https://www.zhihu.com/zvideo/1994901230158374146/
https://www.zhihu.com/zvideo/1994901230095454954/
https://www.zhihu.com/zvideo/1994901230061900185/

截图与保存

截取当前屏幕并保存到本地文件。

d.screenshot("screen.png")

处理弹窗

监控并关闭意外弹窗,结合watcher使用。

d.watcher("ALERT").when(text="确定").click() d.watcher.start() # 启动监控

进阶:XPath 定位

使用 XPath 语法定位复杂元素,需开启xpath支持。

d.xpath("//*[@text='设置']").click()

常见问题排查

检查设备是否连接成功,若失败需重新授权 USB 调试或重启adb服务。

adb devices # 确认设备列表

性能优化建议

减少不必要的截图和频繁操作,适当增加操作间隔以提升稳定性。

import time time.sleep(1) # 操作间隔
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/23 22:12:42

我用 XinServer 做了个文件系统,比想象简单

我用 XinServer 做了个文件系统,比想象简单 最近有个朋友找我帮忙,说他们团队想做个内部文件管理系统,让不同部门的同事能上传、下载、共享文档,还要有权限控制。他问我:“这个后端大概要搞多久?我们前端倒…

作者头像 李华
网站建设 2026/3/24 19:17:19

救命神器2026TOP9AI论文写作软件:本科生毕业论文必备测评

救命神器2026TOP9AI论文写作软件:本科生毕业论文必备测评 2026年AI论文写作软件测评:为什么你需要这份榜单? 随着人工智能技术的不断进步,AI论文写作工具已经成为本科生撰写毕业论文时不可或缺的辅助工具。然而,市面上…

作者头像 李华
网站建设 2026/3/23 8:12:10

hal_uart_transmit支持多协议切换的控制系统设计方案

基于hal_uart_transmit的多协议动态切换系统设计:从理论到实战在嵌入式控制系统中,我们常常面临一个看似简单却极具挑战的现实问题:如何让一块MCU通过同一个UART接口,与使用不同通信协议的多个外设稳定“对话”?比如&a…

作者头像 李华
网站建设 2026/3/24 6:43:23

微博开源模型实战:VibeThinker-1.5B WEBUI界面使用详解

微博开源模型实战:VibeThinker-1.5B WEBUI界面使用详解 1. 引言 1.1 业务场景描述 随着大模型在数学推理与代码生成领域的广泛应用,如何在有限算力条件下实现高效、低成本的推理能力成为中小团队和开发者关注的核心问题。微博近期开源的 VibeThinker-…

作者头像 李华
网站建设 2026/3/24 13:55:59

避坑指南:通义千问2.5-7B-Instruct与vLLM集成常见问题解决

避坑指南:通义千问2.5-7B-Instruct与vLLM集成常见问题解决 1. 引言 随着大语言模型在实际业务场景中的广泛应用,如何高效部署并稳定运行中等体量的高性能模型成为开发者关注的核心问题。通义千问 Qwen2.5 系列于 2024 年 9 月发布后,其 70 …

作者头像 李华
网站建设 2026/3/24 12:47:39

AnimeGANv2部署全流程:从镜像拉取到HTTP服务调用

AnimeGANv2部署全流程:从镜像拉取到HTTP服务调用 1. 概述与技术背景 随着深度学习在图像生成领域的持续突破,风格迁移(Style Transfer) 技术已广泛应用于艺术化图像处理。AnimeGAN 系列模型作为轻量级、高效率的动漫风格转换方案…

作者头像 李华