跳到主要内容

点击控件 (Selector.click)

Selector.click

声明

node.selector():click()

返回值

类型说明
Selector返回控件查找器,用于链式编程
注意

点击方法也是约束的一种,因此不能忘记后面的 find()find_all()

说明

点击控件约束(动作约束)。

技术原理:

  • 基于 Android AccessibilityService 的 performAction(ACTION_CLICK) 实现
  • 动作在 find() 执行时触发,不是调用 click() 时立即执行
  • 执行顺序:查找匹配控件 → 执行点击动作 → 返回控件对象

执行时机:

-- click() 只是添加约束,不会立即点击
local selector = Selector():text("确定"):click() -- 此时还没有点击

-- find() 时才真正执行点击
local node = selector:find() -- 此时执行:查找 → 点击 → 返回

与 Node.click() 的区别:

  • selector:click():find() - 查找时自动点击,一步完成
  • node:click() - 对已找到的控件手动点击
待实现

该接口正在开发中。

示例

local node = require("node")

-- 查找到指定控件,执行点击方法
node.selector():type("ImageView"):id("com.example:id/iv_statue1"):click():find()

-- 组合使用
local n = node.selector():text("确定"):click():find()

AScript 对应

# AScript (Python)
from ascript.android.node import Selector

Selector().type("ImageView").id("com.aojoy.airscript:id/iv_statue1").click().find()