推荐一款好用且能兼职赚钱的自动化工具 - Hamibot

1. 前言

大家好,我是安果!

最近发现一款神器「 Hamibot 」,它是一款 Android 端的自动化工具,它基于 AutoJS 源码进行的二次开发

官方网站:https://docs.hamibot.com/

Hamibot 脚本市场提供了很多脚本,我们都可以免费导入进行试用

首先,我们在 PC Web 的控制台添加一个机器人,然后使用手机通过「 配对码 」进行配对,接着从脚本市场选择一个功能脚本导入,最后在控制台运行脚本就可以在手机上运行一系列自动化操作了

image

当然,我们也可以根据官方文档编写一些实用的脚本上传到平台上,获取一些佣金提成

由于 Hamibot 基于 AutoJS,语法都大同小异,所以本篇文章将只介绍 Hamibot 一些实用的使用技能

2. 实用技能

2-1 App 保活在线

自动化脚本运行实际上是 App 接受到 Web 端 Hamibot 控制台发送的指令,进而驱动手机进行的一系列动作,所以保证 Hamibot App 在后台一直运行变得非常重要

程序保活主要包含 6 个方面,分别是:

  • 前台服务

    打开 Hamibot App,从侧边栏中开启「 前台服务 」功能

  • 悬浮窗

    打开 Hamibot App,从侧边栏中开启「 悬浮窗 」功能

  • 应用自启动

    手机进入到设置中,搜索关键字「 应用管理 」,选择 Hamibot 应用,开启「 自启动 」功能

  • 不锁定屏幕

    首先手动开启开发者选项( 不同厂商系统手机的开启方式不一致,一般是在系统版本连续点击多次就可以开启开发者选项 ),然后在开发者选项中开启「 不锁定屏幕 」功能,这样在手机充电时,屏幕不会休眠

  • 关闭省电策略

    在手机应用设置中,选择省电策略为「 不限制 」,这样 App 会在后台一直运行

  • 保证手机一直联网

    只有手机一直联网,Hamibot 控制台才能将指令传输给设备进行运行

2-2 启动应用

Hamibot 中的 app 模块提供了很多函数用于操作 App 应用

其中,启动一个应用有 3 种方式

# 启动应用的3种方式
# 方式一:通过应用的名称
# 比如:某宝、某多、某条
app.launchApp('某宝');

# 方式二:通过应用的包名
# 包名通过adb命令或者Android Studio 去解析 APK 获取
# 比如:启动 Hamibot 应用
app.launch('com.hamibot.hamibot');

# 方式三:与第二种类似,全局函数
# 通过应用包名启动应用
launchPackage('com.hamibot.hamibot');

2-3 触摸操作

触摸操作是基于屏幕坐标进行点击、长按、滑动等操作,但是该操作需要 Android 7.0 以上或 Root 权限才能有效

PS:对于一些基于元素的点击操作失效的场景,换成触摸操作反而能很好的解决问题

// 使用触摸操作点击某个元素
// 获取某个元素
var widget = id('xxx').findOne();

// 获取其中心位置,执行点击操作
click(widget.bounds().centerX(), widget.bounds().centerY());

2-4 控件操作

控件操作为编写脚本的核心内容,AutoJS 和 Hamibot 官方文档都非常的详细地列出了 UiSelector、UiObject、UiCollection 的使用方法

官方文档:

https://docs.hamibot.com/reference/widgetsBasedAutomation/

2-5 网络请求

结合网络请求,能将爬虫与自动化完美地结合在一起

这里以常见的 GET、POST 请求为例

// 1-GET请求
// 网络请求,获取响应值
var r = http.get('www.baidu.com');
// 响应码
log('code = ' + r.statusCode);
// 响应体(字符串)
log('html = ' + r.body.string());

// 2-POST 请求
var url = 'http://www.**.com/api/login';

//直接传入一个字典作为参数
r = http.postJson(url, {
  username: 'xag',
  password: '123456'
});

//获取请求的响应并弹出吐司
toastLog(r.body.string());

官网提供了网络请求的基础函数,大家可以自行去扩展使用

2-6 线程

脚本默认是在主线程中运行的,我们可以将一些耗时的操作添加到线程中执行

auto.waitFor();

//开启一个子线程
threads.start(function() {
  //在新线程执行的代码
  while (true) {
    log('子线程');
  }
});


//主线程
while (true) {
  log('脚本主线程');
}

3. 拓展一下

在实际使用 Hamibot 的过程中,发现其提供的定时任务没有 AutoJS 使用起来方便

比如,如果我想固定在每一天的某个时间执行某个脚本,可惜的是,官方提供的任务功能没有实现

image

这时候,我们就需要我们在代码中自己去实现这个功能点了

function setScheduledTask(hour, minute, callTask) {
    let taskTime = new Date();
    taskTime.setHours(hour);
    taskTime.setMinutes(minute);
    let timeDiff = taskTime.getTime() - (new Date()).getTime(); // 获取时间差
    timeDiff = timeDiff > 0 ? timeDiff : (timeDiff + 24 * 60 * 60 * 1000);
    setTimeout(function() {
        callTask(); 
        setInterval(callTask, 24 * 60 * 60 * 1000); // 24小时为循环周期
    }, timeDiff); 
}

//获取配置文件中设置的时间(小时、分钟)
const { hour,minute } = hamibot.env;
toastLog(hour); 
toastLog(minute)

function create_thread_and_do_something(){
        //定义子线程
        var my_thread = threads.start(function(){
                   console.log("开始执行子线程。 。。。")
                    ...
                        console.log("结束执行子线程。。。。")
        })
}

// 每天某个时间开启一个子线程,执行一个任务
setScheduledTask(hour, minute, create_thread_and_do_something);

4. 最后

上面内容列出了使用 Hamibot 编写自动化脚本需要掌握的一些功能点

Hamibot 和 AutoJS 的脚本语法基本类似,但是 Hamibot 在易用性、稳定性、群控方面更有优势一点,更多复杂的功能大家可以自行去查阅官方文档去拓展

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

推荐阅读

最全总结 | Android 系统抓包喂饭教程!

完整流程 | 闲鱼哪些东西好卖?我帮你分析出来了!

教你用 Python 快速获取相关概念股,辅助价值投资!

实用 | 盘点几种解决 Chrome 占用内存大的实用方案!(文末送书)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容