回答
实现微信朋友圈自动点赞,核心思路是:进入朋友圈界面 → 循环查找点赞控件 → 通过截图+颜色判断是否已点赞 → 未点赞则点击 → 滑动加载新内容。以下提供一份适配 Hamibot(Rhino 1.7.15 引擎)的基础脚本模板及调试指南。
// 文档地址 https://docs.hamibot.com/
auto.waitFor();
if (!requestScreenCapture()) {
toast('请授予屏幕截图权限');
hamibot.exit();
}
// 启动微信并等待进入朋友圈
launchApp('微信');
waitForPackage('com.tencent.mm');
toast('请手动点击进入朋友圈,脚本将自动继续');
waitForActivity('com.tencent.mm.plugin.sns.ui.SnsTimeLineUI');
var likeCount = 0;
var maxLikes = 15; // 单次运行上限,降低风控概率
while (likeCount < maxLikes) {
// 微信UI频繁更新,控件ID/描述需以实际抓取为准
var likeBtn = id('com.tencent.mm:id/dot').findOne(2000);
if (!likeBtn) {
likeBtn = desc('点赞').findOne(2000);
}
if (!likeBtn) {
scrollDown();
sleep(800);
continue;
}
var bounds = likeBtn.bounds();
var x = bounds.centerX();
var y = bounds.centerY();
// 截图判断是否已点赞(已点赞通常呈高亮/橙红色)
var img = captureScreen();
// 颜色值与容差需根据你的手机主题实际调试
var isLiked = images.detectsColor(img, '#fed9a8', x, y, 20, 'diff');
if (!isLiked) {
likeBtn.click();
likeCount++;
toast('已点赞 ' + likeCount + ' 条');
sleep(1200);
}
// 滑动加载下一条
scrollDown();
sleep(600);
}
toast('任务完成,共点赞 ' + likeCount + ' 条');
hamibot.exit();
核心逻辑说明
- 权限与环境:
auto.waitFor()确保无障碍服务已开启;requestScreenCapture()申请截图权限,用于后续颜色判断。 - 控件定位:优先使用
id()定位,失败则降级使用desc()。微信控件标识会随版本更新变化,需以实际抓取结果为准。 - 防重复点赞:通过
captureScreen()截取当前屏幕,使用images.detectsColor()检测点赞按钮中心点颜色。未点赞为灰色,已点赞为高亮色,避免重复点击。 - 滑动策略:
scrollDown()模拟下滑刷新,配合sleep()控制节奏,模拟人工操作频率。
调试与适配指南
- 抓取控件:在 Hamibot 控制台使用「布局分析」工具,打开朋友圈页面,点击点赞按钮区域,记录实际的
id、desc或className,替换脚本中的选择器。 - 颜色校准:不同手机系统、微信主题、深色模式会导致颜色值差异。运行脚本前,手动点赞一条朋友圈,使用
images.pixel(img, x, y)打印实际颜色值,替换#fed9a8,并调整容差参数(建议 15~30)。 - 滑动适配:若
scrollDown()滑动距离不足或过快,可改用swipe(x1, y1, x2, y2, duration)自定义滑动轨迹。
最佳实践建议
- 控制单次点赞数量(建议 10~20 条),间隔时间加入随机延迟
sleep(800 + random(0, 600)),降低行为特征识别概率。 - 避免在深夜或高频时段运行,尽量模拟真实使用习惯。
- 定期更新控件选择器,微信大版本更新后原有 ID 可能失效。
合规提示
微信官方明确限制使用自动化工具进行批量互动。频繁或异常的点赞行为可能触发安全策略,导致功能限制或账号风控。建议你仅在个人测试或低频场景下使用,并自行承担相关风险。
如需优化滑动轨迹、加入随机延迟逻辑或适配特定微信版本,可提供你的设备型号与微信版本号,我可为你调整脚本参数。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实