回答
要在屏幕中出现“关注”按钮后点击该按钮,可以使用 Hamibot 提供的控件操作和图像匹配功能。以下是具体的实现步骤和代码示例:
方法一:通过控件操作点击“关注”按钮
如果“关注”按钮是一个可识别的控件(例如带有特定文本或属性),可以直接通过控件选择器进行操作。
实现步骤:
- 使用 text或desc属性找到“关注”按钮。
- 判断是否找到该按钮,如果找到则点击。
示例代码:
// 确保无障碍服务已启用
auto.waitFor();
// 循环查找“关注”按钮
while (!click('关注')) {
    // 如果未找到,等待一段时间再重试
    sleep(500);
}
toastLog('已点击关注按钮');
说明:
- click('关注')会尝试点击屏幕上所有包含“关注”文本的控件。
- 如果未找到,程序会每隔 500 毫秒重试一次,直到找到并点击为止。
方法二:通过图像匹配点击“关注”按钮
如果“关注”按钮无法通过控件属性直接定位(例如按钮没有明确的文本或描述),可以使用图像匹配的方法。
实现步骤:
- 截取当前屏幕作为大图。
- 准备一张包含“关注”按钮的小图(模板图片)。
- 使用 images.findImage函数在大图中查找小图的位置。
- 如果找到位置,则模拟点击该位置。
示例代码:
// 确保无障碍服务已启用
auto.waitFor();
// 请求截图权限
if (!requestScreenCapture()) {
    toastLog('没有授予 Hamibot 屏幕截图权限');
    hamibot.exit();
}
// 加载模板图片(关注按钮)
var template = images.read('/sdcard/关注按钮模板.png');
// 循环查找并点击“关注”按钮
while (true) {
    // 截取屏幕
    var screen = captureScreen();
    // 在屏幕中查找模板图片
    var point = images.findImage(screen, template, { threshold: 0.9 });
    if (point) {
        // 找到后点击
        click(point.x, point.y);
        toastLog('已点击关注按钮');
        break;
    } else {
        // 未找到,等待一段时间再重试
        sleep(500);
    }
}
说明:
- 模板图片:需要提前截取一张包含“关注”按钮的图片,并保存为 /sdcard/关注按钮模板.png。
- 相似度阈值:threshold参数控制匹配的精度,默认值为 0.9。可以根据实际需求调整。
- 点击位置:point.x和point.y是找到的模板图片左上角的坐标。
方法三:结合控件和颜色判断
如果“关注”按钮的颜色比较独特,可以通过颜色检测来辅助判断。
实现步骤:
- 查找“关注”按钮的控件。
- 判断按钮中心点的颜色是否符合预期。
- 如果符合,则点击。
示例代码:
// 确保无障碍服务已启用
auto.waitFor();
// 循环查找“关注”按钮
while (true) {
    var btn = text('关注').findOne(1000); // 查找控件,超时时间为 1 秒
    if (btn) {
        // 获取按钮中心点坐标
        var x = btn.bounds().centerX();
        var y = btn.bounds().centerY();
        // 截取屏幕
        var screen = captureScreen();
        // 判断中心点颜色是否为特定颜色(例如橙色)
        if (images.detectsColor(screen, '#FFA500', x, y)) {
            // 点击按钮
            btn.click();
            toastLog('已点击关注按钮');
            break;
        }
    }
    // 未找到,等待一段时间再重试
    sleep(500);
}
说明:
- 颜色检测:images.detectsColor函数用于判断某个像素点是否为指定颜色。
- 颜色值:#FFA500是橙色的十六进制表示,可根据实际情况替换。
注意事项:
- 截图权限:如果使用图像匹配方法,需要确保授予了脚本截图权限。
- 模板图片质量:模板图片应尽量清晰,避免缩放或变形。
- 运行环境:确保手机系统版本符合要求(例如 Android 5.0 及以上)
本回答由 AI 生成,内容仅供参考
                ℹ️ 本回答由 AI 生成,内容仅供参考
              
