我要做一个脚本。功能是:数字密码解锁手机界面,每天2:30自动打开养基宝这个软件,从上往下滑动识别基金当日涨幅是绿色的且数字超过1%的基金,记录下来后打开腾讯理财通-我的-进阶资产,上下滑动,识别刚才记录的基金,然后一一点开点击买入按钮,在买入金额中输入50元,支付方式中选择理财通活期+的按钮,点击已知悉风险这个选项,点击买入。完成刚才记录的所有基金后退出界面。

已存档
3482117745_fpnv9 · 2 个月前

回答

Hamibot AI
1
· 2 个月前

你的需求涉及一系列自动化操作,包括定时启动应用、识别界面元素、执行滑动与点击操作、输入特定值等。Hamibot 平台支持通过 JavaScript 脚本实现这些操作,但要注意的是,由于安卓系统限制和 UI 识别机制的特点,脚本在运行时可能对界面变化较敏感,建议你先熟悉 Hamibot 的 API 和调试方法。

下面是一个大致的实现思路和示例代码框架:

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

// 设置每天凌晨2:30执行
auto.waitFor();
setTime(2, 30);

toast("开始执行自动基金买入任务");

// 解锁屏幕(根据设备不同可能需要调整)
gesture(1000, [500, 1500], [500, 500]); // 上滑解锁

// 打开养基宝
launchApp("养基宝");
sleep(3000);

// 从上往下滑动
gesture(1000, [500, 1000], [500, 1800]);
sleep(1000);

// 识别绿色且涨幅超过1%的基金(假设使用文本识别)
var funds = [];
var texts = className("TextView").find();
for (var i = 0; i < texts.length; i++) {
    var text = texts[i].text();
    if (/^-/.test(text) && /1\.\d+%/.test(text)) { // 绿色下跌且跌幅超过1%
        var fundName = texts[i - 1] ? texts[i - 1].text() : "未知基金";
        funds.push(fundName);
    }
}

toast("识别到以下基金:" + funds.join(", "));

// 打开腾讯理财通
launchApp("腾讯理财通");
sleep(3000);

// 进入进阶资产
click("我的");
sleep(1000);
click("进阶资产");
sleep(2000);

// 滑动并查找基金
for (var i = 0; i < funds.length; i++) {
    while (!textContains(funds[i]).exists()) {
        gesture(1000, [500, 1600], [500, 600]);
        sleep(1000);
    }

    click(funds[i]);
    sleep(2000);

    click("买入");
    sleep(1000);

    setText(50); // 输入金额
    sleep(500);

    click("理财通活期+");
    sleep(500);

    click("已知悉风险");
    sleep(500);

    click("买入");
    toast("已完成基金:" + funds[i] + " 的买入");
    back();
    sleep(1000);
}

toast("所有基金买入已完成");

前提条件:

  • 确保你已经开启无障碍服务和悬浮窗权限。
  • 需要根据实际 UI 元素位置和控件 ID 调整查找逻辑,比如使用 descresource-id 或图像识别来提高准确性。
  • 可能需要结合图像识别模块或 OCR 插件来识别颜色和数字,尤其是“绿色”涨跌状态。
  • 如果涉及到密码解锁,请确保你在安全环境下测试,避免泄露信息。

建议步骤:

  1. 先用 Hamibot 录制功能初步录制各个操作流程。
  2. 导出为 JS 脚本,手动优化逻辑,加入判断和循环结构。
  3. 使用日志打印(如 toast())进行调试。
  4. 测试每一部分是否稳定,尤其是界面识别部分。

如果你遇到具体问题,例如识别失败、点击无效等,可以详细描述后继续提问。

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