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

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


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

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

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

app.launchApp(appName)

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

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

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

click(name)

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

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

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

sleep(n)

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

暫停運(yùn)行n毫秒的時(shí)間。1秒等于1000毫秒。

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

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

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

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

  • x1 {number} 滑動的起始坐標(biāo)的x值
  • y1 {number} 滑動的起始坐標(biāo)的y值
  • x2 {number} 滑動的結(jié)束坐標(biāo)的x值
  • y2 {number} 滑動的結(jié)束坐標(biāo)的y值
  • duration {number} 滑動時(shí)長,單位毫秒

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

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

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

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

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

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

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

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

當(dāng)然,這里要加上延時(shí),避免兩次操作重合


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

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

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

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)+"次滑動,已運(yùn)行"+(i*10)+"秒");
           }
           
           else{
       swipe(550, 1080, 450, 180, 500);
       sleep(10000);
       toast("這是第"+(i)+"次滑動,已運(yùn)行"+(i*10)+"秒");
       }
}       
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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