書接上文:http://www.reibang.com/p/0e759365f8b1
這是auto.js的第二篇非官方教程~
前幾天,寫了一篇auto的入門教程胳泉,簡單介紹了一下auto.js的各個(gè)內(nèi)容和下載過程而昨,順帶寫了個(gè)“hello world”舶担。那么應(yīng)該就算是入門完畢了吧~
腳本畢竟是腳本,不同其他正常的學(xué)習(xí)語言箕昭,以做題來熟悉灵妨,腳本還是通過完成實(shí)例來完成要好得多。
那么本期的實(shí)例落竹,便是泌霍,“抖音極速版自動(dòng)刷視頻腳本”。眾所周知述召,現(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)用名稱啟動(dòng)應(yīng)用。如果該名稱對應(yīng)的應(yīng)用不存在倾哺,則返回false; 否則返回true轧邪。如果該名稱對應(yīng)多個(gè)應(yīng)用,則只啟動(dòng)其中某一個(gè)羞海。
該函數(shù)也可以作為全局函數(shù)使用忌愚。
launchApp("抖音極速版");//打開抖音極速版
這個(gè)函數(shù)是直接通過查找手機(jī)應(yīng)用的名字找到相應(yīng)應(yīng)用的名字,將上面代碼中的”抖音極速版“換成其他應(yīng)用也可以打開其他手機(jī)應(yīng)用却邓。
2. 打開APP后我們通常會(huì)進(jìn)入首頁的位置硕糊,也就是已經(jīng)在刷視頻了,但可能也有意外腊徙,這時(shí)我們要判斷沒進(jìn)入刷視頻界面的情況简十,讓腳本自行進(jìn)入。我們通過一個(gè)指令:click()來點(diǎn)擊首頁進(jìn)入刷視頻界面撬腾。(即使已經(jīng)是這個(gè)界面了螟蝙,點(diǎn)擊一次也不會(huì)有影響。)
click(name)
-
name
{string} 點(diǎn)擊的文字
通過判斷文字民傻,點(diǎn)擊相應(yīng)文字的位置胰默,如果沒有對應(yīng)的文字,則返回false漓踢,否則返回true牵署。
click("首頁");//點(diǎn)擊文字”首頁“
這個(gè)代碼用以點(diǎn)擊文字用喧半,腳本會(huì)根據(jù)代碼要求奴迅,模擬點(diǎn)擊相應(yīng)的位置,這個(gè)代碼用處非常廣挺据,只要把引號中的中文改了半沽,就可以完成許多應(yīng)用的一些日常操作。
3. 有同學(xué)做到這一步了吴菠,發(fā)現(xiàn)腳本運(yùn)行后似乎并不會(huì)點(diǎn)擊文字"首頁"者填,那么到底是哪一步出問題了呢?手機(jī)和電腦和人都一樣做葵,都是靠大腦來處理信息占哟,也就是cpu,但手機(jī)的cpu反應(yīng)速度要遠(yuǎn)比人的速度要快酿矢,所以榨乎,在手機(jī)運(yùn)行比較慢的情況下,還沒進(jìn)入抖音極速版的界面瘫筐,便已經(jīng)完成點(diǎn)擊的那一步代碼了蜜暑,自然便不會(huì)再點(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è)滑動(dòng)的代碼來完成這個(gè)操作。
swipe(x1, y1, x2, y2, duration)
-
x1
{number} 滑動(dòng)的起始坐標(biāo)的x值 -
y1
{number} 滑動(dòng)的起始坐標(biāo)的y值 -
x2
{number} 滑動(dòng)的結(jié)束坐標(biāo)的x值 -
y2
{number} 滑動(dòng)的結(jié)束坐標(biāo)的y值 -
duration
{number} 滑動(dòng)時(shí)長肆良,單位毫秒
模擬從坐標(biāo)(x1, y1)滑動(dòng)到坐標(biāo)(x2, y2)筛璧,并返回是否成功。只有滑動(dòng)操作執(zhí)行完成時(shí)腳本才會(huì)繼續(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è)左右滑動(dòng)的代碼浙值,來自動(dòng)翻頁讀小說恳不。請靈活運(yùn)用腳本。創(chuàng)造來源于生活开呐,有需求才有發(fā)展!
5.上面這一步的滑動(dòng)已經(jīng)寫好了烟勋,我們已經(jīng)可以完成一次滑動(dòng)的操作了,但要領(lǐng)紅包筐付,肯定是要不吐训耄滑動(dòng)視頻,才能保證紅包源源不斷的轉(zhuǎn)動(dòng)瓦戚,難道我們要寫好幾十個(gè)滑動(dòng)的代碼沮尿?當(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ù)的操作庸疾。
那么我們自動(dòng)滑動(dòng)視頻的代碼該怎么寫呢乍楚?這里只要把第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è)代碼。
- app.launchApp(appName)//打開文件
- click(name)//點(diǎn)擊文字
- sleep(n)//延時(shí)函數(shù)
- swipe(x1, y1, x2, y2, duration)//滑動(dòng)屏幕
- 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)+"次滑動(dòng)茶凳,已運(yùn)行"+(i*10)+"秒");
}
else{
swipe(550, 1080, 450, 180, 500);
sleep(10000);
toast("這是第"+(i)+"次滑動(dòng)嫂拴,已運(yùn)行"+(i*10)+"秒");
}
}