初識auto.js


關於Auto.js

Auto.js 是個基於 JavaScript 語言運行在Android平台上的腳本框架。

小白與auto.js

本人有一點前端開發基礎,無心亂入到腳本這塊知識盲區,卻因為某些原因,需要幫別人做一些自動閱讀、做任務的腳本。

初聽腳本一詞,覺得茫然,毫無基礎,如何開發?

問度娘得知世間有autojs一神器,基於JavaScript的腳本自動化開發工具。

我便開始了為期一天的B站大學學習auto.js。

大致看了半天左右,覺得很簡單,語義化和一些代碼格式很清晰。

小白理解: autojs可以實現的,多為一些點擊、滑動事件,模仿人的手指進行手機操作。

  例如:簽到打卡、螞蟻森林收取能量、抖音引流自動刷視頻評論這些操作

小白踩坑——click

click()作為autojs必不可少的操作,里面有很多的注意事項。

首先就必須了解autojs可以通過哪些方式進行點擊。

1、最好理解的就是坐標。

例如: click(200,300)   點擊的就是坐標像素點的位置為(200,300)

我們在調試的時候可以打開手機的開發者模式(不知道的可自行百度,很簡單),找到顯示觸摸操作和指針模式打開

這樣屏幕上就會顯示像素對應的坐標,如下圖

 2、還可以通過控件進行點擊(大家都說這是autojs的特色)

 如上圖我們可以看到text、desc、className、id等控件屬性

點擊方式例如:id("bz").findOne().click()

注意:控件中有一個屬性為clickable,屬性值為ture時方可使用上方寫法,屬性值為false時,需要做一些方式來獲取坐標,進行坐標點擊

依然拿此id為例:

var x = id("bz").findOne().bounds().centerX();
var y = id("bz").findOne().bounds().centerY();
click(x,y);
當這種方式被用到多次的時候,我們可以封裝成一個方法,我把代碼放到下面(實在看不懂的,學一下js基礎)供參考:
function clickUIObj(obj) {
  if (obj !== null) {
    // 控件是否可點擊
    if (obj.clickable()) {
      // log('控件可以點擊');
      obj.click();
    } else {
      var x = obj.bounds().centerX() + random(-15, 15);
      var y = obj.bounds().centerY() + random(-5, 5);
      log(x,y)
      // 點擊
      click(x,y);
      sleep(1000);
    }
  } else {
    log('未找到');
  }
}

 小白總結(注意):

親身體會,寫完的腳本click()偶爾會發生失效現象,此時手機進行重啟,腳本就能正常運行。

原因尚不明確,有博主說是因為安卓手機的系統設置原因,手機一直保持充電連接便不會發生,我充電試了,依舊時有發生。

希望路過的大佬,可以評論告知一下,本小白不勝感激。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM