当前位置:首页>安卓APP>安卓自动化脚本入门

安卓自动化脚本入门

  • 2026-09-11 02:42:55
安卓自动化脚本入门

一、下载adb

下载连接:https://developer.android.com/studio/releases/platform-tools

根据系统下载,并配置好环境变量

# 确认是否安装成功adb versionadb devices

二、uiautodev 简介

1. 是什么?

uiautodev 主要用于 Android UI 结构查看和元素定位,支持生成 XPath 等定位信息。

GitHub 地址:https://github.com/codeskyblue/uiautodev

2. 功能特点

  • • 实时抓取 Android 设备/模拟器当前界面的 UI 结构。
  • • 可视化展示控件属性(如 className、resourceId、text、bounds 等)。
  • • 支持多设备连接管理。

3. 安装与启动

pip install uiautodev# 启动 Web 服务uiauto.dev

会自动打开浏览器,选择连接好的手机


二、uiautomator2 简介

1. 是什么?

uiautomator2 一个简单、好用、稳定的Android自动化的库,简单来说就是把Android自动化的能力通过HTTP接口的方式暴露给Python使用

GitHub 地址:https://github.com/openatx/uiautomator2

2. 核心功能

  • • 控件查找(by text, resourceId, className, xpath 等)
  • • 点击、滑动、输入文本、长按等交互操作
  • • 获取设备信息(屏幕分辨率、包名、activity 等)
  • • 截图、dump hierarchy
  • • 启动/停止应用、等待元素出现
  • • 支持多设备并发

3. 安装

pip install uiautomator2

4. 基本使用示例

import uiautomator2 as u2d = u2.connect()d.app_start('tv.danmaku.bili', stop=True) # 启动Bilibilid.wait_activity('.MainActivityV2')d.sleep(5) # 等待开屏广告消失d.xpath('//*[@text="我的"]').click()# 获取粉丝数量fans_count = d.xpath('//*[@resource-id="tv.danmaku.bili:id/fans_count"]').textprint(f"粉丝数量: {fans_count}")

三、编写自动化脚本时的注意事项

1. 设备与环境准备

  • • 确保开启 USB 调试 和 “未知来源”安装权限。
  • • 保持 ADB 连接稳定,避免脚本执行中断。

2. 元素定位稳定性

  • • 优先使用 resourceId(如 com.xxx:id/button_login),最稳定。
  • • 避免仅依赖 text(可能因语言/动态内容变化失效)。
  • • XPath 虽灵活但性能较差,且容易因 UI 层级变动而失效。
  • • 使用 wait() 等待元素出现,避免因加载延迟导致找不到控件:
    d(resourceId="xxx").wait(timeout=10)

最新文章

随机文章