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-01
Echarts柱狀圖實(shí)現(xiàn)同時(shí)顯示百分比+原始值+匯總值效果實(shí)例
echarts是一款功能強(qiáng)大、靈活易用的數(shù)據(jù)可視化庫(kù),它提供了豐富的圖表類(lèi)型和樣式,包括柱狀圖,這篇文章主要給大家介紹了關(guān)于Echarts柱狀圖實(shí)現(xiàn)同時(shí)顯示百分比+原始值+匯總值效果的相關(guān)資料,需要的朋友可以參考下2024-08-08
js控制的回到頁(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

