帮我制作一个脚本,在输入框设置账号(accounts.txt每行一个账号)文本id("tested_account").findOne()
生成一个500ms的toast显示:正在处理第***条/共***条
点击解除绑定按钮id("disconnect_binding").findOne().click()
获取点击解绑时软件生成的toast
每条账号对应的toast记录到:解绑记录.txt

packageName = com.wangding.cqwom

HAMI_3903243120 · 2 小时前

回答

Hamibot AI
1
· 2 小时前

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

以下是你需要的账号解绑自动化脚本:

// 确保无障碍服务开启
auto.waitFor();

var files = require('files');

// 读取账号文件
var accounts = [];
if (files.exists('accounts.txt')) {
    var content = files.read('accounts.txt');
    accounts = content.split('\n').filter(function(account) {
        return account.trim() !== '';
    });
} else {
    toast('账号文件accounts.txt不存在!');
    hamibot.exit();
}

var total = accounts.length;
if (total === 0) {
    toast('没有找到任何账号!');
    hamibot.exit();
}

// 确保在目标应用界面
if (!waitForPackage('com.wangding.cqwom', 3000)) {
    toast('请先打开目标应用!');
    hamibot.exit();
}

// 开启Toast监听
events.observeToast();
var toastResult = null;
var toastListener = events.on('toast', function(toast) {
    // 只处理目标应用的toast
    if (toast.getPackageName() === 'com.wangding.cqwom') {
        toastResult = toast.getText();
    }
});

// 处理每个账号
for (var i = 0; i < total; i++) {
    var account = accounts[i].trim();
    if (account === '') continue;
    
    // 显示处理进度
    toast('正在处理第' + (i+1) + '条/共' + total + '条');
    sleep(500);
    
    try {
        // 设置输入框账号
        var input = id('tested_account').findOne(2000);
        if (input) {
            input.setText(account);
        } else {
            toast('找不到输入框!');
            continue;
        }
        
        // 点击解除绑定按钮
        var button = id('disconnect_binding').findOne(2000);
        if (button) {
            button.click();
        } else {
            toast('找不到解绑按钮!');
            continue;
        }
        
        // 等待toast出现
        toastResult = null;
        var startTime = new Date().getTime();
        while (new Date().getTime() - startTime < 3000) {
            if (toastResult !== null) {
                break;
            }
            sleep(200);
        }
        
        // 记录结果
        var result = account + ' : ' + (toastResult || '未获取到结果');
        files.write('解绑记录.txt', result + '\n', {
            mode: 'a'
        });
        
    } catch (e) {
        log('处理账号 ' + account + ' 时出错: ' + e);
        files.write('解绑记录.txt', account + ' : 处理出错\n', {
            mode: 'a'
        });
    }
    
    // 避免操作过快
    sleep(1500);
}

// 清理监听器
toastListener.remove();
toast('所有账号处理完成!');

使用说明:

  1. 将脚本保存在Hamibot中
  2. 在脚本同目录下创建accounts.txt文件,每行一个账号
  3. 确保已经打开了packageName为com.wangding.cqwom的应用
  4. 运行脚本

脚本功能:

  • 读取accounts.txt中的账号列表
  • 逐个设置输入框账号并显示处理进度
  • 点击解绑按钮后自动监听系统toast
  • 将解绑结果记录到"解绑记录.txt"文件中
  • 自动处理异常情况并继续执行

注意事项:

  1. 确保已开启无障碍服务
  2. 确保目标应用已打开并处于前台
  3. 脚本会等待3秒获取toast结果,如果应用toast响应慢可以适当增加等待时间
  4. 解绑记录会以追加模式写入,不会覆盖之前的结果
ℹ️ 本回答由 AI 生成,内容仅供参考