自動化篇 | 手把手教你使用 AutoJS 自動領京豆



AutoJS

一個支持無障礙服務的 Android 平臺上的 JavaScript IDE。Autojs 主要是基於安卓系統的無障礙服務,實現自動化操控和監控手機信息處理。web

特性:

  1. 由無障礙服務實現的簡單易用的自動操做函數shell

  2. 懸浮窗錄製和運行微信

  3. 更專業&強大的選擇器 API,提供對屏幕上的控件的尋找、遍歷、獲取信息、操做等。相似於 Google 的 UI 測試框架 UiAutomator,您也能夠把他當作移動版UI測試框架使用app

  4. 採用 JavaScript 爲腳本語言,並支持代碼補全、變量重命名、代碼格式化、查找替換等功能,能夠做爲一個 JavaScript IDE 使用框架

  5. 支持使用 e4x 編寫界面,並能夠將 JavaScript 打包爲 apk 文件,您能夠用它來開發小工具應用編輯器

  6. 支持使用 Root 權限以提供更強大的屏幕點擊、滑動、錄製功能和運行 shell 命令。錄製錄製可產生js文件或二進制文件,錄製動做的回放比較流暢函數

  7. 提供截取屏幕、保存截圖、圖片找色、找圖等函數工具

  8. 可做爲 Tasker 插件使用,結合 Tasker 可勝任平常工做流佈局

  9. 帶有界面分析工具,相似 Android Studio 的 LayoutInspector,能夠分析界面層次和範圍、獲取界面上的控件信息測試


安裝

免費版在網上搜索 autojs.apk,下載後便可安裝,免費版已更新至 4.1.1Beta而且再也不更新。

最新版已經開始收費,下載地址:https://pro.autojs.org/

  • 開啓手機無障礙服務



  • 在 某些版本 上打開音量上鍵中止全部腳本,防止死循環腳本(我所使用的版本上默認開啓)

  • 打開懸浮窗進行佈局分析

懸浮窗功能

編輯環境配置

autojs 軟件提供了很是好的手機端編寫支持,擁有強大的提示功能,基本上咱們在手機端進行編寫也是很是溫馨的。

同時有 VS Code 插件可提供基礎的在桌面開發的功能。

免費版咱們下載:Auto.js-VSCodeExt

根據咱們安裝的版本進行選擇
插件命令:

按 Ctrl+Shift+P 或點擊「查看」->「命令面板」可調出命令面板,輸入 Auto.js 能夠看到如下命令:

  • Start Server: 啓動插件服務。以後在確保手機和電腦在同一區域網的狀況下,在Auto.js的側拉菜單中使用鏈接電腦功能鏈接。

  • Stop Server: 中止插件服務。

  • Run: 運行當前編輯器的腳本。若是有多個設備鏈接,則在全部設備運行。

  • Rerun: 中止當前文件對應的腳本並從新運行。若是有多個設備鏈接,則在全部設備從新運行。

  • Stop: 中止當前文件對應的腳本。若是有多個設備鏈接,則在全部設備中止。

  • StopAll: 中止全部正在運行的腳本。若是有多個設備鏈接,則在全部設備運行全部腳本。

  • Save: 保存當前文件到手機的腳本默認目錄(文件名會加上前綴remote)。若是有多個設備鏈接,則在全部設備保存。

  • RunOnDevice: 彈出設備菜單並在指定設備運行腳本。

  • SaveToDevice: 彈出設備菜單並在指定設備保存腳本。

  • New Project(新建項目):選擇一個空文件夾(或者在文件管理器中新建一個空文件夾),將會自動建立一個項目

  • Run Project(運行項目):運行一個項目,須要 Auto.js 4.0.4 Alpha5 以上支持

  • Save Project(保存項目):保存一個項目,須要 Auto.js 4.0.4 Alpha5 以上支持

使用 vscode 進行開發
  • 在命令面板選擇 Start Server 啓動服務,右下角會顯示 Auto.js server running




  • 將手機與電腦鏈接到同一個WiFi,查看電腦的 IP 地址。

    在手機端 AutoJS 側邊菜單中選擇遠程調試,並輸入電腦 IP,vscode 中會顯示鏈接成功


    AutoJS側邊欄設置
vscode右下角
  • vscode 中建立 JS 文件,按 F5 或者選擇 Run 命令,便可在手機端進行運行

  • 在 vscode 命令面板中選擇 Save,將自動發送並保存到手機上

經常使用命令及函數

auto.waitFor()

檢查無障礙服務是否已經啓用,若是沒有啓用則跳轉到無障礙服務啓用界面,並等待無障礙服務啓動;當無障礙服務啓動後腳本會繼續運行。

app.launchApp(appName)
  • appName {string} 應用名稱

經過應用名稱啓動應用。若是該名稱對應的應用不存在,則返回false; 不然返回true。若是該名稱對應多個應用,則只啓動其中某一個。

UiSelector.text(str)
  • str {string} 控件文本

  • 返回 {UiSelector} 返回選擇器自身以便鏈式調用

爲當前選擇器附加控件"text等於字符串str"的篩選條件。

控件的text(文本)屬性是文本控件上的顯示的文字,例如微信左上角的"微信"文本。

UiSelector.textContains(str)
  • str {string} 要包含的字符串

爲當前選擇器附加控件"text須要包含字符串str"的篩選條件。

這是一個比較有用的條件,例如QQ動態頁和微博發現頁上方的"你們都在搜…."的控件能夠用textContains("你們都在搜").findOne()來獲取。

bounds()
  • 返回 Rect

返回控件在屏幕上的範圍,其值是一個Rect對象

findOne(selector)
  • selector UiSelector

  • 返回 UiOobject

根據選擇器selector在該控件的子控件、孫控件…中搜索符合該選擇器條件的控件,並返回找到的第一個控件;若是沒有找到符合條件的控件則返回null

其餘API請看官方文檔。要注意控件的click函數不必定會生效,所以推薦使用全局點擊click函數。

京東簽到領京豆

  • 開啓 AutoJS 的懸浮窗

  • 打開京東商城 APP

  • 選擇 AutoJS 懸浮窗的佈局分析

  1. 選擇佈局分析

  2. 佈局範圍分析

  3. 點擊領京豆

  4. 生成代碼

  • 查看 text、id、desc,也能夠選擇生成代碼
    上面咱們看到生成代碼失敗了,那麼就要 查看控件信息,發現底下 text 屬性爲「領京豆」


而後咱們就能夠在代碼中使用text('領京豆'),來獲取這個控件了。

目前最新版的 AutoJS Pro 已是付費制了,37元永久免費,也但願你們能支持做者,可是免費版的在網上依然能搜到,能夠下載比較新的版本使用,基本上也能知足咱們不少需求。另外論壇已經中止更新了,可是咱們依然能夠在上面搜索到一些腳本。

固然直接在 GitHub上就能夠搜索到更多的腳本。

簽到領京豆腳本已經上傳到公號後臺,請關注公衆號,並回復:領京豆,獲取源代碼。

固然,也能夠參考以前的這篇文章,直接利用 Tasker 天天定時去簽到領取京豆。


這款黑科技,不會代碼也能玩自動化,高效摸魚



推薦閱讀


自動化篇 - 黑客們使用的自動化方案,不少人還不知道

視頻剪輯什麼鬼?Python 帶你高效創做短視頻

聊聊微信自動化的幾種方案




THANDKS
- End -

本文分享自微信公衆號 - AirPython(AirPython)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索