我要做一个脚本。功能是:数字密码解锁手机界面,每天2:30自动打开养基宝这个软件,从上往下滑动识别基金当日涨幅是绿色的且数字超过1%的基金,记录下来后打开腾讯理财通-我的-进阶资产,上下滑动,识别刚才记录的基金,然后一一点开点击买入按钮,在买入金额中输入50元,支付方式中选择理财通活期+的按钮,点击已知悉风险这个选项,点击买入。完成刚才记录的所有基金后退出界面。
回答
你的需求涉及一系列自动化操作,包括定时启动应用、识别界面元素、执行滑动与点击操作、输入特定值等。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 调整查找逻辑,比如使用
desc
、resource-id
或图像识别来提高准确性。 - 可能需要结合图像识别模块或 OCR 插件来识别颜色和数字,尤其是“绿色”涨跌状态。
- 如果涉及到密码解锁,请确保你在安全环境下测试,避免泄露信息。
建议步骤:
- 先用 Hamibot 录制功能初步录制各个操作流程。
- 导出为 JS 脚本,手动优化逻辑,加入判断和循环结构。
- 使用日志打印(如
toast()
)进行调试。 - 测试每一部分是否稳定,尤其是界面识别部分。
如果你遇到具体问题,例如识别失败、点击无效等,可以详细描述后继续提问。
ℹ️ 本回答由 AI 生成,内容仅供参考