熱線電話:13121318867

登錄
首頁精彩閱讀推薦一款好用且能兼職賺錢的自動化工具 - Hamibot
推薦一款好用且能兼職賺錢的自動化工具 - Hamibot
2022-02-15
收藏
推薦一款好用且能兼職賺錢的自動化工具 - Hamibot

作者:星安果

來源:AirPython

1. 前言

大家好,我是安果!

最近發現一款神器「 Hamibot 」,它是一款 Android 端的自動化工具,它基于 AutoJS 源碼進行的二次開發

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

Hamibot 腳本市場提供了很多腳本,我們都可以免費導入進行試用

首先,我們在 PC Web 的控制臺添加一個機器人,然后使用手機通過「 配對碼 」進行配對,接著從腳本市場選擇一個功能腳本導入,最后在控制臺運行腳本就可以在手機上運行一系列自動化操作了

推薦一款好用且能兼職賺錢的自動化工具 - Hamibot

當然,我們也可以根據官方文檔編寫一些實用的腳本上傳到平臺上,獲取一些傭金提成

由于 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 使用起來方便

比如,如果我想固定在每一天的某個時間執行某個腳本,可惜的是,官方提供的任務功能沒有實現

推薦一款好用且能兼職賺錢的自動化工具 - Hamibot

這時候,我們就需要我們在代碼中自己去實現這個功能點了

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 在易用性、穩定性、群控方面更有優勢一點,更多復雜的功能大家可以自行去查閱官方文檔去拓展

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢