回答
要制作一个点赞脚本,核心思路是找到点赞按钮,判断是否已经点赞,如果未点赞则执行点击。以下是基于Hamibot编写的通用点赞脚本示例,适用于界面中有固定点赞控件的情况。
// 文档地址 https://docs.hamibot.com/
// 请求截图权限
if (!requestScreenCapture()) {
toast('请授予屏幕截图权限');
exit();
}
sleep(1000);
// 找到点赞控件(根据实际控件id或文本调整)
var like = id('ly_feed_like_icon').findOne();
if (like == null) {
toast('未找到点赞按钮');
exit();
}
// 获取点赞控件中心点坐标
var x = like.bounds().centerX();
var y = like.bounds().centerY();
// 截图
var img = captureScreen();
// 判断该坐标颜色是否为已点赞状态(示例颜色值需根据实际UI调整)
if (images.detectsColor(img, '#fed9a8', x, y)) {
// 已经是点赞过的,不执行操作
toast('已点赞,跳过');
} else {
// 未点赞,执行点击
click(x, y);
toast('点赞成功');
}
如果需要批量点赞多个对象(例如QQ名片点赞),可以循环遍历目标列表并点击:
// 文档地址 https://docs.hamibot.com/
var QQNum_Arry = ['123456', '789012']; // 替换为实际QQ号列表
for (var i = 0; i < QQNum_Arry.length; i++) {
app.startActivity({
data: "mqqapi://card/show_pslcard?&uin=" + QQNum_Arry[i]
});
waitForActivity("com.tencent.mobileqq.activity.FriendProfileCardActivity");
sleep(3000);
// 查找点赞按钮(根据实际描述修改)
var Btn = descEndsWith("次赞").findOne();
if (Btn == null) {
continue;
}
var X = Btn.bounds().centerX();
var Y = Btn.bounds().centerY();
// 连续点击10次
for (var j = 0; j < 10; j++) {
click(X, Y);
sleep(500);
}
}
注意事项:
- 控件ID、描述、颜色值等需根据目标应用的UI实际属性调整,可使用Hamibot的“控件分析”功能获取。
- 脚本中使用了
images.detectsColor检测颜色,需要提前授予截图权限。 - 循环点击时建议添加适当的
sleep,避免操作过快被应用限制。 - 由于Hamibot使用的JavaScript引擎(Rhino)不完全支持ES6,请使用
var声明变量,避免箭头函数、默认参数等语法。
如果你需要针对特定应用(如微信朋友圈、抖音等)制作点赞脚本,可以提供更具体的界面信息,我可以给出更精准的代码。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实