AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解
Auto.js 是個(gè)基于 JavaScript 語(yǔ)言運(yùn)行在A(yíng)ndroid平臺(tái)上的腳本框架。Auto.js主要工作原理是基于輔助服務(wù)AccessibilityService。
今天主要和大家分享一下刷刷刷過(guò)程中提示直播的窗體關(guān)閉問(wèn)題,
我的手機(jī)判斷一下android.widget.RelativeLayout控件的數(shù)量。9個(gè)是正常的超過(guò)了就是有直播提醒。當(dāng)然不同的手機(jī)可能不一樣,大家自己修改一下吧!
let liveVideo=className ("android.widget.RelativeLayout").find(); if(liveVideo.length>9){ clickScreen(); }
其實(shí)還有一個(gè)思路:就是每一次都點(diǎn)擊一下屏幕。
總體代碼:
auto.waitFor(); let see_count = 1000;// rawInput('請(qǐng)輸入滑動(dòng)次數(shù)',"3000"); app.launchApp('刷寶短視頻'); sleep(4000); console.show(); //開(kāi)啟日志(懸浮窗權(quán)限) authorityCancleTip();//點(diǎn)擊權(quán)限取消按鈕 for (var i = 1; i < see_count; i++) { toast("刷寶短視頻滑動(dòng)" + i + '次'); console.log("刷寶短視頻滑動(dòng)" + i + '次' + "總計(jì):" + see_count + "次"); shuabaoCloseAD(); randomDownSildeScreen(); randomHeart(); randomFollow(); slideScreenDown(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400); } //退到主頁(yè)面 home(); /** * 刷寶關(guān)閉廣告 */ function shuabaoCloseAD() { let liveVideo=className ("android.widget.RelativeLayout").find(); if(liveVideo.length>9){ clickScreen(); } if (id("hotspot_imgdismiss").exists()) { id("hotspot_imgdismiss").findOnce().click(); } } /** * 屏幕向下滑動(dòng)并延遲8至12秒 */ function slideScreenDown(startX, startY, endX, endY, pressTime) { swipe(startX, startY, endX, endY, pressTime); delayTime = random(8000, 10000); sleep(delayTime);//模仿人類(lèi)隨機(jī)時(shí)間 } /** *點(diǎn)擊一下屏幕 */ function clickScreen() { var x = device.width - device.width * 0.2; var y = device.height - device.height * 0.2; toastLog("點(diǎn)擊屏幕" + x + ":" + y); let clickResult = click(x, y); toastLog(clickResult); } function authorityCancleTip() { if(text("取消").exists()){ text("取消").findOnce().click(); } if (id("cancel").exists()) { id("cancel").findOnce().click(); } } /** * 隨機(jī)上滑(防止被判定是機(jī)器)上滑后停留時(shí)間至少是10S,造成假象表示是對(duì)內(nèi)容感興趣 * 點(diǎn)贊和關(guān)注先不搞。 */ function randomUpSildeScreen() { let randomIndex = random(1, 40); if (randomIndex == 1) { console.log("隨機(jī)上滑被執(zhí)行了"); pressTime = random(200, 500); swipe(device.width / 2, 500, device.width / 2, device.height - 200, 700); delayTime = random(8000, 10000); sleep(delayTime); } } /** * 連續(xù)下滑對(duì)上一個(gè)無(wú)興趣 * 其實(shí)得和上滑做個(gè)排他,既然無(wú)興趣不要在上滑 */ function randomDownSildeScreen() { let randomIndex = random(1, 20); if (randomIndex == 1) { console.log("連續(xù)下滑被執(zhí)行了"); swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400); sleep(2000); swipe(device.width / 2, device.height * 0.8, device.width / 2, device.height * 0.1, 400); delayTime = random(8000, 10000); sleep(delayTime); } } /**隨機(jī)點(diǎn)贊并休息一秒 */ function randomHeart() { index = random(1, 10); if (index == 6) { if(id("praise").exists()){ id("praise").findOnce().click(); } } } function randomFollow() { index = random(1, 10); if (index == 6) { if(id('tv_ad_attention').exists()){ id("tv_ad_attention").findOnce().click(); }else{ if(text("關(guān)注").exists()){ text("關(guān)注").findOnce().click(); } } } }
總結(jié)
到此這篇關(guān)于A(yíng)utoJs實(shí)現(xiàn)刷寶短視頻的思路詳解的文章就介紹到這了,更多相關(guān)AutoJs 刷寶短視頻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS函數(shù)進(jìn)階之繼承用法實(shí)例分析
這篇文章主要介紹了JS函數(shù)進(jìn)階之繼承用法,結(jié)合實(shí)例形式分析了JavaScript函數(shù)繼承相關(guān)定義與使用操作技巧,需要的朋友可以參考下2020-01-01Echarts柱狀圖實(shí)現(xiàn)同時(shí)顯示百分比+原始值+匯總值效果實(shí)例
echarts是一款功能強(qiáng)大、靈活易用的數(shù)據(jù)可視化庫(kù),它提供了豐富的圖表類(lèi)型和樣式,包括柱狀圖,這篇文章主要給大家介紹了關(guān)于Echarts柱狀圖實(shí)現(xiàn)同時(shí)顯示百分比+原始值+匯總值效果的相關(guān)資料,需要的朋友可以參考下2024-08-08js控制的回到頁(yè)面頂端goTop的代碼實(shí)現(xiàn)
在瀏覽網(wǎng)頁(yè)的時(shí)候應(yīng)該會(huì)經(jīng)常見(jiàn)到右下角有個(gè)【回到頂端】的懸浮東東,本文也要使用js實(shí)現(xiàn)一下,感興趣的朋友可以參考下哈,希望可以幫助到你2013-03-03一文詳解JavaScript數(shù)組對(duì)象和字符串對(duì)象
這篇文章主要介紹了JavaScript數(shù)組對(duì)象和字符串對(duì)象,文章中有詳細(xì)的代碼示例,對(duì)學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以參考一下2023-04-04如何實(shí)現(xiàn)textarea里的不同文本顯示不同顏色
如何實(shí)現(xiàn)textarea里的不同文本顯示不同顏色呢?控制textarea的style設(shè)置Textarea以及把文本放到標(biāo)記里都不會(huì)起作用,下面有個(gè)不錯(cuò)的解決方法,感興趣的朋友可以了解下2014-01-01