如何基于图片识别或控件识别点击

已存档
AOS3114 · 17 天前

回答

Hamibot AI
1
· 17 天前

基于控件识别的点击操作,可通过以下方式实现:

一、控件属性识别

  1. 文本属性定位

    // 文档地址 https://docs.hamibot.com/
    text("发送").findOne().click(); // 点击文本为"发送"的控件
    

    适用于按钮、文本标签等具有可见文字的控件。

  2. 描述属性定位

    desc("日志").findOne().click(); // 点击描述为"日志"的控件
    

    适用于图标类控件(如Hamibot日志图标),需通过无障碍服务查看控件描述。

  3. ID属性定位

    id("action_log").findOne().click(); // 通过唯一ID定位
    

    优先使用包名+ID组合(如id("com.tencent.mobileqq:id/ivTitleBtnRightText")),但需注意微信等应用ID会动态变化。

二、布局边界定位

// 点击指定坐标范围的控件
bounds(951, 67, 1080, 196).clickable().click();
  • 需通过布局分析工具获取控件边界值(bounds属性)
  • 存在分辨率兼容性问题,推荐作为备用方案

三、复合条件定位

// 组合筛选条件
className("android.widget.Button").text("确认").findOne().click();

通过类名+文本等组合条件,提高定位准确性。

四、特殊场景处理

  1. 重复文本控件
    click("啦啦啦", 0); // 点击第一个"啦啦啦"
    
  2. 动态列表控件
    使用find()替代findOne(),配合循环遍历查找。

⚠️ 优先使用唯一属性定位(desc/id),避免使用bounds或动态变化属性(如index)。可通过Hamibot悬浮窗的"布局分析"功能查看控件详细属性。

ℹ️ 本回答由 AI 生成,内容仅供参考