跳到主要内容

控件模块 (node)

待实现

该模块正在开发中,API 参考 AScript 设计。

模块概述

控件模块**完全基于 Android AccessibilityService(辅助功能服务)**实现,提供对 UI 控件的查找和操作能力。

技术原理

┌─────────────────────────────────────────────────────────┐
│ AccessibilityService │
│ (Android 无障碍服务) │
├─────────────────────────┬───────────────────────────────┤
│ App 原生控件 │ WebView 控件 │
│ (Button, TextView...) │ (内嵌 H5 网页) │
├─────────────────────────┼───────────────────────────────┤
│ Selector │ WebWindow + WebSelector │
│ ↓ │ ↓ │
│ Node │ WebNode │
└─────────────────────────┴───────────────────────────────┘
  • App 控件:使用 Selector 查找 Android 原生 UI 控件(Button、TextView、EditText 等)
  • Web 控件:使用 WebWindow + WebSelector 查找 WebView 内嵌网页的 DOM 元素
  • 两者区别:Selector 无法深入 WebView 内部,WebSelector 专门用于操作网页元素

使用流程

场景步骤
App 控件Selector() → 添加约束 → find() → 获得 Node
Web 控件WebWindow(url)WebSelector(window) → 添加约束 → find() → 获得 WebNode

📱 App 控件

选择器 (Selector)

属性约束

布尔约束

关系约束

动作约束

控件对象 (Node)


🌐 Web 控件

用于操作 App 内嵌的 WebView 网页内容(H5 页面)

网页窗口 (WebWindow)

选择器 (WebSelector)

约束方法

关系约束

动作约束

控件对象 (WebNode)