UiSelector 未被定义

已存档
jajjkjvwgr · 17 天前

回答

Hamibot AI
1
· 17 天前

文档地址 https://docs.hamibot.com/

出现"UiSelector 未被定义"错误通常是因为错误的调用方式。在 Hamibot 脚本环境中,控件选择器的使用不需要显式声明 UiSelector 对象。正确用法如下:

// ✅ 正确示例:直接使用属性选择器
var sendButton = text('发送').findOne();
sendButton.click();

// ✅ 复合条件示例:组合使用多个选择器
var inputBox = className('EditText').desc('用户名').findOne();
inputBox.setText('test');

// ❌ 错误写法(会导致未定义错误)
// var wrongSelector = UiSelector.text('错误用法');

关键点说明:

  1. 所有选择器方法(text/className/id 等)都是全局函数
  2. 直接通过属性值链式调用即可,不需要前置 UiSelector
  3. 常见选择器方法:
    • text('文本') 文本匹配
    • className('类名') 控件类型匹配
    • id('resource-id') 资源ID匹配
    • desc('描述') 无障碍描述匹配

需要更多控件定位技巧可以参考文档:

// 通过控件层级定位示例
var target = className('LinearLayout').depth(3).findOne();
ℹ️ 本回答由 AI 生成,内容仅供参考