如何學習auto.js(二)——用最簡單的代碼自動刷視頻

書接上文:http://m.itdecent.cn/p/0e759365f8b1
這是auto.js的第二篇非官方教程~
前幾天,寫了一篇auto的入門教程,簡單介紹了一下auto.js的各個內(nèi)容和下載過程,順帶寫了個“hello world”。那么應該就算是入門完畢了吧~
腳本畢竟是腳本,不同其他正常的學習語言,以做題來熟悉,腳本還是通過完成實例來完成要好得多。


那么本期的實例,便是,“抖音極速版自動刷視頻腳本”。眾所周知,現(xiàn)在大大小小的短視頻APP都弄了不少的看視頻賺現(xiàn)金領紅包之類的玩法提高用戶的留存率,這些看視頻的錢說多不多說少也不少,每天有事沒事的時候還是可以薅薅羊毛賺個一點點零花錢的,當然,前提是你的流量和電不要錢~

好,正式開始本文的腳本教程。在開始編寫腳本前,我們要明確我們要實現(xiàn)的目標:在抖音極速版通過刷視頻來獲取金幣!

1. 我們抓字眼逐步完成功能,首先我們要完成的目標就是 “在抖音極速版”,那么如何完成這一步呢?首先,auto.js提供了一個打開手機文件的功能函數(shù),

app.launchApp(appName)

  • appName {string} 應用名稱
    通過應用名稱啟動應用。如果該名稱對應的應用不存在,則返回false; 否則返回true。如果該名稱對應多個應用,則只啟動其中某一個。
    該函數(shù)也可以作為全局函數(shù)使用。
launchApp("抖音極速版");//打開抖音極速版

這個函數(shù)是直接通過查找手機應用的名字找到相應應用的名字,將上面代碼中的”抖音極速版“換成其他應用也可以打開其他手機應用。

2. 打開APP后我們通常會進入首頁的位置,也就是已經(jīng)在刷視頻了,但可能也有意外,這時我們要判斷沒進入刷視頻界面的情況,讓腳本自行進入。我們通過一個指令:click()來點擊首頁進入刷視頻界面。(即使已經(jīng)是這個界面了,點擊一次也不會有影響。)

click(name)

  • name {string} 點擊的文字
    通過判斷文字,點擊相應文字的位置,如果沒有對應的文字,則返回false,否則返回true。
click("首頁");//點擊文字”首頁“

這個代碼用以點擊文字用,腳本會根據(jù)代碼要求,模擬點擊相應的位置,這個代碼用處非常廣,只要把引號中的中文改了,就可以完成許多應用的一些日常操作。

3. 有同學做到這一步了,發(fā)現(xiàn)腳本運行后似乎并不會點擊文字"首頁",那么到底是哪一步出問題了呢?手機和電腦和人都一樣,都是靠大腦來處理信息,也就是cpu,但手機的cpu反應速度要遠比人的速度要快,所以,在手機運行比較慢的情況下,還沒進入抖音極速版的界面,便已經(jīng)完成點擊的那一步代碼了,自然便不會再點擊一次了。所以,我們要讓手機,慢下來!

sleep(n)

  • n {number} 毫秒數(shù)

暫停運行n毫秒的時間。1秒等于1000毫秒。

sleep(1000);//延時1000毫秒。

當你發(fā)現(xiàn)你有些功能實現(xiàn)不了的時候,不要想太多,往功能前面加上延時就對了~具體延時多久自行根據(jù)手機反應速度判斷。一般建議5秒最穩(wěn),也就是5000毫秒

4.那么已經(jīng)進入界面了,前期的準備步驟已經(jīng)完成了,下面就要開始刷視頻了。刷視頻通常都是通過視頻的上滑或者下滑來完成。那么,我們要通過一個滑動的代碼來完成這個操作。

swipe(x1, y1, x2, y2, duration)

  • x1 {number} 滑動的起始坐標的x值
  • y1 {number} 滑動的起始坐標的y值
  • x2 {number} 滑動的結束坐標的x值
  • y2 {number} 滑動的結束坐標的y值
  • duration {number} 滑動時長,單位毫秒

模擬從坐標(x1, y1)滑動到坐標(x2, y2),并返回是否成功。只有滑動操作執(zhí)行完成時腳本才會繼續(xù)執(zhí)行。
每個手機的坐標可能都不太一樣,華為手機可以通過設置—系統(tǒng)—開發(fā)人員選項—指針位置,獲取坐標位置,這里只推薦一個比較標準通用的上滑操作指令。

 swipe(550, 1100, 450, 180, 500);

這里的標準是華為手機6.0寸屏幕,大家可以根據(jù)自己的情況自行調(diào)整。這里的上滑下滑肯定不止是用來刷視頻用,就像我之前,寫過一個左右滑動的代碼,來自動翻頁讀小說。請靈活運用腳本。創(chuàng)造來源于生活,有需求才有發(fā)展!

5.上面這一步的滑動已經(jīng)寫好了,我們已經(jīng)可以完成一次滑動的操作了,但要領紅包,肯定是要不?;瑒右曨l,才能保證紅包源源不斷的轉(zhuǎn)動,難道我們要寫好幾十個滑動的代碼?當然不是,任何程序都有自己的循環(huán)代碼,非常方便。

js中的for循環(huán)和C語言是一樣的:for(var i=1;i<=10;i++){

//運行內(nèi)容
}
// i=1是初始次數(shù),10是結束次數(shù),靈活調(diào)整這個數(shù)字可以循環(huán)完成重復的操作。

那么我們自動滑動視頻的代碼該怎么寫呢?這里只要把第4和第5的代碼合二為一即可:

for(var i=1;i<=10;i++){
       swipe(550, 1100, 450, 180, 500);
       sleep(10000)
}

當然,這里要加上延時,避免兩次操作重合


至此,一個簡單的薅羊毛腳本已經(jīng)完成了!讓我們看一下這個腳本,一共用了幾個代碼。

  1. app.launchApp(appName)//打開文件
  2. click(name)//點擊文字
  3. sleep(n)//延時函數(shù)
  4. swipe(x1, y1, x2, y2, duration)//滑動屏幕
  5. for循環(huán)//寫循環(huán)

是不是覺得非常簡單?
最后補上整段代碼(部分優(yōu)化),上一篇教程已經(jīng)下載好auto.js 的同學可以嘗試一下。

launchApp("抖音極速版");
sleep(1000);
click("首頁");
for(var i=1;i<=10;i++){
       if(i%5==0){
           swipe(550, 880, 450, 1800, 500);
       sleep(10000);
       toast("這是第"+(i)+"次滑動,已運行"+(i*10)+"秒");
           }
           
           else{
       swipe(550, 1080, 450, 180, 500);
       sleep(10000);
       toast("這是第"+(i)+"次滑動,已運行"+(i*10)+"秒");
       }
}       
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容