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



AutoJS

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

特性:

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

  2. 懸浮窗錄製和運行github

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

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

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

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

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

  8. 可做爲Tasker插件使用,結合Tasker可勝任平常工做流編輯器

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

項目介紹:

  • 項目地址:https://github.com/hyb1996/Auto.js

  • 官方論壇:https://www.autojs.org/

  • 在線文檔:https://hyb1996.github.io/AutoJs-Docs/#/

  • 專業版地址:https://pro.autojs.org/

安裝

免費版在網上搜索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.4Alpha5以上支持

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

使用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上就能夠搜索到更多的腳本。

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


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

相關文章
相關標籤/搜索