跳到主要内容

输入信息 (Selector.input)

Selector.input

声明

node.selector():input(msg)

参数

参数类型是否必填说明
msgstring输入的信息,空字符串表示清空输入框(默认)

返回值

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

说明

向控件输入信息约束(动作约束)。

技术原理:

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

执行时机:

-- input() 只是添加约束,不会立即输入
local selector = Selector():id("search"):input("关键词") -- 此时还没有输入

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

与 Node.input() 的区别:

  • selector:input(text):find() - 查找时自动输入,一步完成
  • node:input(text) - 对已找到的控件手动输入

注意事项:

  • 控件必须是可编辑的(editable=true)
  • 空字符串 "" 表示清空输入框
待实现

该接口正在开发中。

示例

local node = require("node")

-- 查找到指定控件,输入文本
node.selector():id("com.example:id/search_bar_text"):input("自在老师"):find()

-- 清空输入框
node.selector():id("com.example:id/search_bar_text"):input(""):find()

AScript 对应

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

Selector().id("com.aojoy.airscript:id/search_bar_text").input("自在老师").find()