我需要开发一个在高德地图使用的自动化脚本要如何开发 并把每一步的操作告诉我 所需要的代码也给我写出来
脚本要求:上滑,每出现三次或5次点赞图标和评论图标就自动随机点赞和评论,,检测到福袋图标就自动点击收取,时间一分钟到1分35秒上滑一次
回答
文档地址 https://docs.hamibot.com/
以下是在 Hamibot 上开发高德地图自动化脚本的完整步骤及代码。
步骤一:准备工作
- 在 Hamibot 中创建新的脚本,名称自定义。
- 确保设备已授予无障碍权限和悬浮窗权限(如需截图)。
- 打开高德地图并进入需要操作的页面(如视频流或动态流)。
步骤二:脚本逻辑设计
- 循环执行上滑操作,间隔随机在 60 秒至 95 秒之间。
- 每次上滑后,检测当前屏幕中是否存在点赞图标、评论图标、福袋图标。
- 对点赞和评论图标进行计数,当累计出现次数达到 3 或 5 次时,随机选择其一执行点击(模拟点赞或评论),并重置计数。
- 若检测到福袋图标,立即点击收取。
步骤三:图标识别方式
使用 Hamibot 的控件查找或图像识别。由于高德地图的元素可能没有稳定的控件 ID,推荐使用截图后基于颜色特征检测,或使用文字/描述查找。以下示例采用基于控件特征(如 desc 或 text)查找,假设点赞图标有 desc("点赞"),评论有 desc("评论"),福袋有 desc("福袋") 等,实际需根据你的界面调整。若控件无法识别,可改用 images.detectsColor 定位颜色点。
完整代码
// 文档地址 https://docs.hamibot.com/
auto(); // 自动启动无障碍服务
// 请求截图权限
if (!requestScreenCapture()) {
toast("请授予截图权限");
exit();
}
// 计数器,记录点赞和评论图标出现的总次数
var likeCommentCount = 0;
// 目标阈值,随机取 3 或 5
var threshold = random(0, 1) ? 3 : 5;
// 主循环
while (true) {
// 1. 检测并处理福袋
var fudai = text("福袋").findOne(1000);
if (fudai) {
fudai.click();
sleep(1000);
}
// 2. 检测点赞和评论图标,累计出现次数
var like = text("点赞").findOne(500);
var comment = text("评论").findOne(500);
if (like || comment) {
likeCommentCount++;
// 当累计次数达到阈值时,随机执行点赞或评论
if (likeCommentCount >= threshold) {
// 随机选择执行点赞或评论,优先选择当前存在的图标
if (like && comment) {
// 都存在则随机选一个
var target = random(0, 1) ? like : comment;
target.click();
} else if (like) {
like.click();
} else if (comment) {
comment.click();
}
// 重置计数并重新随机阈值
likeCommentCount = 0;
threshold = random(0, 1) ? 3 : 5;
sleep(1000);
}
}
// 3. 上滑操作,间隔 60~95 秒
var delay = random(60000, 95000);
sleep(delay);
swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.2, 500);
sleep(2000); // 等待页面加载
}
说明
- 代码中使用了
text("福袋")等选择器,如果高德地图中这些元素的文本不是“福袋”,请替换为实际的desc、id或其它特征。可先用 Hamibot 的“分析控件”功能查看。 - 若无法通过控件获取,可使用截图颜色检测,例如:
var img = captureScreen(); var point = findColor(img, "#FF0000", {region: [x, y, w, h]}); // 根据实际颜色查找 - 上滑坐标使用相对屏幕尺寸,适配不同分辨率。
- 间隔时间随机在 60 秒到 95 秒之间,满足要求。
- 脚本运行前需确保无障碍与悬浮窗权限已开启,否则会提示。
如果在实际使用中遇到特定控件无法识别的问题,可以进一步提供高德地图界面的控件信息,我会帮你调整查找方式。
ℹ️ 内容由 AI 生成,可能不准确,请注意核实