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

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) # 操作间隔
http://www.jsqmd.com/news/245393/

相关文章:

  • Python 学生管理系统实战:从基础功能到数据持久化(附完整源码)
  • 【Python库和代码案例:第一课】Python 标准库与第三方库实战指南:从日期处理到 Excel 操作
  • 数独优化求解C库tdoku-lib的使用
  • AI原生应用云端推理的故障排查与恢复
  • dlx求解数独duckdb插件的编写和使用
  • 我用 XinServer 做了个文件系统,比想象简单
  • 大数据领域数据产品的安全保障策略
  • 避坑指南:通义千问2.5-7B-Instruct本地部署常见问题解决
  • 【RuoYi-SpringBoot3-Pro】:使用 Dify + AI 快速生成多数据库建表语句
  • AnimeGANv2版本回滚机制:模型更新失败应急部署教程
  • 【RuoYi-SpringBoot3-Pro】:多租户功能上手指南
  • 这份无线联网智能门锁系统清单非常专业,清晰地勾勒出了一套适用于多业态、高流动性、强管理场景的现代化出入口解决方案。这不仅是设备清单,更是一套“去中心化部署、云端化管理”的智慧运营蓝图。
  • 对象库未注册-VB6企业版控件加载不了MSCOMCTL.ocx
  • 提示工程架构师经验:如何用Prompt解决客服复杂问题?
  • 动漫生成服务SLA保障:AnimeGANv2高可用部署架构
  • go语言对phone脱敏显示
  • 通义千问2.5-7B-Instruct优化技巧:RTX 3060流畅运行指南
  • AnimeGANv2如何提高边缘清晰度?后处理滤波技术实战
  • 农业机械收割机拖拉机数据集6340张VOC+YOLO格式
  • 开源模型新选择:AnimeGANv2宫崎骏风格迁移实战指南
  • keil5安装包下载通俗解释:新手也能轻松掌握
  • AnimeGANv2优化指南:处理高分辨率图片的配置建议
  • 车辆及人数据集(汽车公交车收割机拖拉机卡车人)12819张
  • AnimeGANv2从零开始:构建二次元转换器完整流程
  • Qt 线程管理:从 QThread 到 QThreadPool
  • 物理约束机器学习赋能科学计算
  • 彻底解析Java访问修饰符:public、private、protected及默认的区别
  • AnimeGANv2代码实例:Python调用模型避坑指南
  • 一键部署通义千问2.5-7B-Instruct,AI应用开发从未如此简单
  • 手把手教程:用通义千问2.5-7B和vLLM实现代码补全功能