亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

2020京東618疊蛋糕js腳本(親測(cè)好用)

 更新時(shí)間:2020年06月02日 10:38:41   作者:宇智波瀾哥  
這篇文章主要介紹了京東618疊蛋糕js腳本,基于auto.js 打開(kāi),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一年一度的618就要到了,購(gòu)物車已經(jīng)裝滿,今年京東618疊蛋糕活動(dòng)非常吸引人,怎么個(gè)玩法呢,大家不妨打開(kāi)京東嘗試下。那么今天小編給大家分享一篇教程關(guān)于2020京東618疊蛋糕js腳本的實(shí)現(xiàn)代碼,剛興趣的朋友一起看看吧。

京東618疊蛋糕腳本,親測(cè)好用,Auto.js打開(kāi)

在這我一級(jí)里插入圖片描述

var generalSleep = 2000;//一般任務(wù)的瀏覽時(shí)間(非8秒任務(wù))
var intervalSleep = 800;//任務(wù)間的間隔時(shí)間
var checkTimes = 2000;//每個(gè)任務(wù)需要檢查有沒(méi)有跳轉(zhuǎn)成功
var randomVal = 500; //隨機(jī)睡眠的區(qū)間跨度,比如generalSleep,則generalSleep隨機(jī)睡眠為random(generalSleep,generalSleep+randomVal)
//如果想讓上面三個(gè)參數(shù)不使用隨機(jī)睡眠,randomVal請(qǐng)?jiān)O(shè)置為0
function getTaskList()
{
 返回任務(wù)中心();
 var taskList = textMatches(/.+\([0-9]+\/[0-9]+\).*/).untilFind();
 return taskList;
}
function getGoButton(task)
{
 var father = task.parent();
 if(father == null) return null;
 father = father.parent();
 if(father == null) return null;
 var selector = text("去完成");
 var goOn = father.findOne(selector);
 return goOn;
}
function getSelectedTask(keywordList)
{
 var taskList = getTaskList(),found;
 for(var i = 0; i < taskList.length; i ++){
 found = true;
 for(var j = 0; j < keywordList.length; j ++){
 if(taskList[i].text().indexOf(keywordList[j]) == -1){
 found = false;
 break;
 }
 }
 if(found) return taskList[i];
 }
 return null;
}
function 返回()
{
 var goBack = clickable(true).desc("返回").findOne(1000);
 goBack == null ? back() : goBack.click();
}
function 返回任務(wù)中心()
{
 var 任務(wù)中心 ;
 while(true){
 任務(wù)中心 = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne(1000);
 if(任務(wù)中心 != null) break;
 返回();
 sleep(1000);
 }
}
function 逛店鋪(秒數(shù))
{
 textMatches(/.+人關(guān)注/).waitFor();
 var 完成 = textContains("恭喜完成").findOne(秒數(shù)*1000);
 返回任務(wù)中心();
 sleep(random(intervalSleep,intervalSleep+randomVal));
}
function 瀏覽商品(次數(shù))
{
 var goodsList = textMatches(/¥[0-9]+\.[0-9]+/).untilFind(),cnt = 0,finished = false;
 for(var i = 0; i < goodsList.length; i ++){
 if(cnt >= 次數(shù)){
 finished = true;
 break;
 }
 if(forceClick(goodsList[i]))
 {
 log("準(zhǔn)備瀏覽價(jià)格為 %s 的商品",goodsList[i].text());
 cnt ++;
 textMatches(/(?:加入購(gòu)物車|立即購(gòu)買(mǎi)|立即搶購(gòu)|支付定金|購(gòu)物車|客服)/).waitFor();
 sleep(random(1500,2000));
 back();
 textMatches(/.*瀏覽.*商品.*/).waitFor();
 sleep(random(300,500));
 }
 }
 sleep(random(500,1000));
 返回任務(wù)中心();
 sleep(random(intervalSleep,intervalSleep+randomVal));
 return finished;
}
function 加購(gòu)商品()
{
 var goodsList = textMatches(/¥[0-9]+\.[0-9]+/).untilFind(),finished = false,已完成,father,selector;
 for(var i = 0; i < goodsList.length; i ++){
 已完成 = text("已完成").findOnce();
 if(已完成!=null) {
 log("已完成本輪加購(gòu)");
 break;
 }
 father = goodsList[i].parent().parent();
 selector = clickable(true).filter(function(w){
 var b = w.bounds(),b_ = father.bounds();
 return Math.abs(b.bottom - b_.bottom) <= 150 && Math.abs(b.right - b_.right) <= 150 
  && b.width() <= 150 && b.height() <= 150;
 });
 加購(gòu) = father.findOne(selector);
 if(加購(gòu)!=null){
 加購(gòu).click();
 log("正在加購(gòu) %s 的商品",goodsList[i].text());
 sleep(random(1000,1500));
 }
 }
 sleep(random(500,1000));
 返回任務(wù)中心();
 sleep(random(intervalSleep,intervalSleep+randomVal));
 return finished;
}
function 瀏覽任務(wù)自動(dòng)化()
{
 log("準(zhǔn)備進(jìn)行 瀏覽 任務(wù)!??!");
 var isRun,taskList,goOn,txt,reg = /(?:瀏覽8秒|逛8秒|去玩|瀏覽可得|8秒得)/,恭喜完成,任務(wù)首頁(yè);
 while(true){
 taskList = getTaskList(); isRun = false;
 for(var i = 0; i < taskList.length; i ++){
 txt = taskList[i].text();
 if(reg.test(txt)){
 if(txt.indexOf("AR") != -1) continue;
 goOn = getGoButton(taskList[i]);
 if(goOn != null){
  log(txt);
  goOn.click();
  sleep(checkTimes);
  任務(wù)首頁(yè) = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne(200);
  if(任務(wù)首頁(yè) == null){
  if(txt.indexOf("8秒")!= null) {
  恭喜完成 = textContains("恭喜完成").findOne(random(12000,15000));
  if(恭喜完成 != null){
  sleep(random(300,600));
  }
  }
  else sleep(random(generalSleep,generalSleep+randomVal));
  返回任務(wù)中心();
  sleep(random(intervalSleep,intervalSleep+randomVal));
  isRun = true;
  break;
  }
  else{
  log("任務(wù)跳轉(zhuǎn)不成功...");
  sleep(500);
  }
 }
 }
 }
 if(!isRun) break;
 }
 log("瀏覽 任務(wù)完成~~~");
 return isRun;
}
function 任務(wù)自動(dòng)化(keywordList)
{
 log("準(zhǔn)備進(jìn)行 %s 任務(wù)?。?!",keywordList);
 var task,last_rate=-1,curr_rate,tag_rate,reg_rate = /\([0-9]+\/[0-9]+\)/,reg,arr,sec;
 var isRun = false,任務(wù)首頁(yè),maxTryTimes = 10,tryTimes = 0,goOn,isFail;
 while(true){
 task = getSelectedTask(keywordList);
 if(task == null) break;
 arr = task.text().match(reg_rate);
 arr = toIntArr(arr[0]);
 curr_rate = parseInt(arr[0]);
 tag_rate = parseInt(arr[1]);
 if(curr_rate == tag_rate) break;
 if(curr_rate != last_rate){
 log("當(dāng)前已完成 %d 次任務(wù),目標(biāo)是完成 %d 次任務(wù),準(zhǔn)備進(jìn)行下一輪任務(wù)",curr_rate,tag_rate);
 log(task.text());
 isFail = false;
 if(keywordList[0] == "店鋪"){
 reg = /[0-9]+秒/;
 arr = task.text().match(reg);
 sec = toInt(arr[0]);
 log("逛店鋪 %s 秒",sec);
 goOn = getGoButton(task);
 if(goOn != null) goOn.click();
 sleep(checkTimes);
 任務(wù)首頁(yè) = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne(200);
 if(任務(wù)首頁(yè) == null){
  逛店鋪(sec);
 }
 else isFail = true;
 }
 else if (keywordList[0] == "瀏覽" && keywordList[1] == "商品")
 {
 reg = /[0-9]+個(gè)商品/;
 arr = task.text().match(reg);
 times = toInt(arr[0]);
 log("本輪需要瀏覽 %s 個(gè)商品",times);
 goOn = getGoButton(task);
 if(goOn != null) goOn.click();
 sleep(checkTimes);
 任務(wù)首頁(yè) = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne(200);
 if(任務(wù)首頁(yè) == null){
  瀏覽商品(times);
 }
 else isFail = true;
 }
 else if (keywordList[0] == "加購(gòu)" && keywordList[1] == "商品"){
 reg = /[0-9]+個(gè)商品/;
 arr = task.text().match(reg);
 times = toInt(arr[0]);
 log("本輪需要加購(gòu) %s 個(gè)商品",times);
 goOn = getGoButton(task);
 if(goOn != null) goOn.click();
 sleep(checkTimes);
 任務(wù)首頁(yè) = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne(200);
 if(任務(wù)首頁(yè) == null ){
  加購(gòu)商品(times);
 }
 else isFail = true;
 }
 if(isFail){
 log("任務(wù)跳轉(zhuǎn)不成功...");
 tryTimes++;
 if(tryTimes >= maxTryTimes){
  log("超過(guò)嘗試次數(shù),放棄本輪任務(wù)");
  break;
 }
 sleep(500);
 }
 else{
 isRun = true; last_rate = curr_rate; tryTimes = 0;
 }
 sleep(300);
 }
 else{
 sleep(2000);
 last_rate = curr_rate - 1;
 }
 sleep(300);
 }
 log("%s 任務(wù)完成~~~",keywordList);
 if(isRun) sleep(random(2000,2500));
 return isRun;
}
function clickObj(obj)
{
 if(obj != null && obj != undefined){
 if(obj.clickable()){
 obj.click();
 }
 else{
 click(obj.bounds().centerX(),obj.bounds().centerY());
 }
 return true;
 }
 return false;
}
function toIntArr(str)
{
 return str.match(/[0-9]+/g);
}
function toInt(str)
{
 var res = str.match(/[0-9]+/g);
 return parseInt(res[0]);
}
function forceClick(obj)
{
 for(var i = 0 ; i < 8; i ++){
 if(obj == null) return false;
 if(obj.clickable()){
 obj.click();
 return true;
 }
 else obj = obj.parent();
 }
 return false;
}
function openJD()
{
 app.startActivity({ 
 data: "openApp.jdMobile://virtual?params=%7B%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22category%22%3A%22jump%22%2C%22sourceType%22%3A%22JSHOP_SOURCE_TYPE%22%2C%22sourceValue%22%3A%22JSHOP_SOURCE_VALUE%22%2C%22M_sourceFrom%22%3A%22lkyl%22%2C%22msf_type%22%3A%22click%22%2C%22m_param%22%3A%7B%22m_source%22%3A%220%22%2C%22event_series%22%3A%7B%7D%2C%22jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%2C%22usc%22%3A%22androidapp%22%2C%22ucp%22%3A%22t_335139774%22%2C%22umd%22%3A%22appshare%22%2C%22utr%22%3A%22CopyURL%22%2C%22jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22ref%22%3A%22https%3A%2F%2Fbunearth.m.jd.com%2FbabelDiy%2FZeus%2F3xAU77DgiPoDvHdbXUZb95a7u71X%2Findex.html%22%2C%22psn%22%3A%221664140455%7C472%22%2C%22psq%22%3A5%2C%22pc_source%22%3A%22%22%2C%22mba_muid%22%3A%221664140455%22%2C%22mba_sid%22%3A%221572979455588510925986537476%22%2C%22std%22%3A%22MO-J2011-1%22%2C%22par%22%3A%22%22%2C%22event_id%22%3A%22Mnpm_ComponentApplied%22%2C%22mt_xid%22%3A%22%22%2C%22mt_subsite%22%3A%22%22%7D%2C%22SE%22%3A%7B%22mt_subsite%22%3A%22%22%2C%22__jdv%22%3A%22177095863%7Candroidapp%7Ct_335139774%7Cappshare%7CCopyURL%7C1572882675599%22%2C%22__jda%22%3A%22177095863.1664140455.1538579865.1572975960.1572979455.472%22%7D%7D",
 });
}
function signIn()
{
 var 立即簽到 = textMatches(/(?:立即簽到|簽到)/).findOne(25*1000);
 clickObj(立即簽到);
}
function goToHall()
{
 var hall = text("做任務(wù)領(lǐng)金幣").findOne(25*1000);
 clickObj(hall);
}
var notifyClose = textContains("通知權(quán)限");
var continueFloaty = text("繼續(xù)疊蛋糕");
var cakeNotify = textContains("繼續(xù)疊蛋糕 分紅包");
var closeList = [[notifyClose,false],[continueFloaty,true],[cakeNotify,true]];//true表示直接點(diǎn)擊
function closeFloaty()
{
 var i,obj,cancel;
 while(true){
 for(i in closeList){
 obj = closeList[i][0].findOnce();
 if(obj != null){
 if(closeList[i][1]){
  clickObj(obj);
 }else{
  cancel = textMatches(/(?:取消|關(guān)閉)/).findOnce();
  if(cancel != null){
  cancel.click();
  }
 }
 }
 }
 sleep(100);
 }
}
// function closeHall()
// {
// sleep(500);
// var menu = desc("更多菜單").className("ImageView").clickable(true).findOne();
// var 中心 = textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").findOne();
// var closeBtn = clickable(true).depth(中心.depth()+1).filter(function(w){
// var b = w.bounds(),b_ = menu.bounds(),b__ = 中心.bounds();
// return w.text().length == 0 && b_.left <= b.centerX() && b.centerX() <= b_.right && 
//  b.centerY() < b__.top-50 && b.centerY() > b_.bottom+50;
// }).findOne();
// closeBtn.click()
// }
function closeHall()
{
 back();
 sleep(1500);
 openJD();
 text("做任務(wù)領(lǐng)金幣").waitFor();
}
function collectCoin()
{
 log("開(kāi)始點(diǎn)擊小精靈?。。?);
 text("做任務(wù)領(lǐng)金幣").waitFor();
 var elf;
 while(true){
 elf = text("點(diǎn)我得金幣").findOne(3500);
 if(elf == null) break;
 // click(elf.bounds().centerX(),elf.bounds().top - 50);
 forceClick(elf);
 sleep(random(350,550));
 }
 log("完成小精靈收集金幣");
}
function makeCake()
{
 log("開(kāi)始自動(dòng)疊蛋糕?。?!");
 var make,closeBtn,arr,property,need,obj;
 while(true){
 obj = textMatches(/[0-9]+\/[0-9]+/).findOne();
 arr = toIntArr(obj.text());
 property = parseInt(arr[0]), need = parseInt(arr[1]);
 if(property >= need){
 log("當(dāng)前擁有 %d 個(gè)金幣,下一層蛋糕需要 %d 個(gè)金幣,可以繼續(xù)疊蛋糕",property,need);
 make = textMatches(/當(dāng)前金幣[0-9]+.*疊蛋糕/).clickable(true).findOne();
 sleep(200);
 make.click();
 sleep(1500);
 closeBtn = textContains("繼續(xù)疊蛋糕 分紅包").findOne();
 sleep(200);
 closeBtn.click();
 sleep(1500);
 }
 else {
 log("當(dāng)前擁有 %d 個(gè)金幣,下一層蛋糕需要 %d 個(gè)金幣,已經(jīng)不能繼續(xù)疊蛋糕了",property,need);
 break;
 }
 }
 log("疊蛋糕完成!??!");
}
function keyListen()
{
 events.observeKey();
 events.onKeyDown("volume_down", function(event){
 exit();
 });
}
function main()
{
 console.show();
 textContains("任務(wù)每日0點(diǎn)刷新,記得每天都來(lái)看看哦~").waitFor();
 var flag,ret;
 while(true){
 flag = false;
 ret = 任務(wù)自動(dòng)化(["店鋪"]);
 sleep(500);
 if(ret) flag = true;
 ret = 任務(wù)自動(dòng)化(["瀏覽","商品"]);
 sleep(500);
 if(ret) flag = true;
 ret = 任務(wù)自動(dòng)化(["加購(gòu)","商品"]);
 sleep(500);
 if(ret) flag = true;
 ret = 瀏覽任務(wù)自動(dòng)化();
 sleep(500);
 if(ret) flag = true;
 if(!flag) break;
 }
 closeHall();
 collectCoin();
 makeCake();
 threads.start(function(){
 log("所有自動(dòng)化任務(wù)已完成");
 alert("所有自動(dòng)化任務(wù)已完成");
 });
 sleep(500);
 exit();
}
openJD();
threads.start(signIn);
threads.start(goToHall);
threads.start(closeFloaty);
threads.start(keyListen);
main();

總結(jié)

到此這篇關(guān)于2020京東618疊蛋糕js腳本(親測(cè)好用)的文章就介紹到這了,更多相關(guān)京東618疊蛋糕js腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript實(shí)現(xiàn)鏈接單選效果的方法

    javascript實(shí)現(xiàn)鏈接單選效果的方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)鏈接單選效果的方法,可實(shí)現(xiàn)點(diǎn)擊鏈接改變其背景色的功能,同時(shí)可禁用對(duì)應(yīng)鏈接的跳轉(zhuǎn),需要的朋友可以參考下
    2015-05-05
  • indexOf 和 lastIndexOf 使用示例介紹

    indexOf 和 lastIndexOf 使用示例介紹

    indexOf是在一個(gè)字符串中尋找一個(gè)字的位置,lastIndexOf 也是找字 , 它們倆的區(qū)別是前者從字符串頭開(kāi)始找,后者是從字符串末端開(kāi)始找
    2014-09-09
  • 詳解JavaScript對(duì)象轉(zhuǎn)原始值

    詳解JavaScript對(duì)象轉(zhuǎn)原始值

    這篇文章主要為大家介紹了vue組件通信的幾種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • javascript中局部變量和全局變量的區(qū)別詳解

    javascript中局部變量和全局變量的區(qū)別詳解

    本文主要是向大家詳細(xì)的對(duì)比分析了javascript中局部變量和全局變量的區(qū)別,是篇非常不錯(cuò)的文章,值得仔細(xì)去品讀,推薦給小伙伴們。
    2015-02-02
  • 微信小程序搭建自己的Https服務(wù)器

    微信小程序搭建自己的Https服務(wù)器

    這篇文章主要介紹了微信小程序搭建Https服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 微信小程序?qū)崿F(xiàn)購(gòu)物車頁(yè)面

    微信小程序?qū)崿F(xiàn)購(gòu)物車頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)購(gòu)物車頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS寄快遞地址智能解析的實(shí)現(xiàn)代碼

    JS寄快遞地址智能解析的實(shí)現(xiàn)代碼

    這篇文章主要介紹了JS寄快遞地址智能解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • JavaScript日期和時(shí)間的格式化及其它常用處理方法

    JavaScript日期和時(shí)間的格式化及其它常用處理方法

    這篇文章主要給大家介紹了關(guān)于JavaScript日期和時(shí)間的格式化及其它常用處理方法,JavaScript中可以使用Date對(duì)象來(lái)表示日期和時(shí)間,如果需要格式化日期和時(shí)間,可以使用Date對(duì)象的幾個(gè)方法和一些字符串操作方法來(lái)實(shí)現(xiàn),需要的朋友可以參考下
    2023-09-09
  • 微信小程序收藏功能的實(shí)現(xiàn)代碼

    微信小程序收藏功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了微信小程序收藏功能的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • javascript forEach函數(shù)實(shí)現(xiàn)代碼

    javascript forEach函數(shù)實(shí)現(xiàn)代碼

    在Base2中找到一個(gè)叫forEach的函數(shù),是我見(jiàn)過(guò)的最好的實(shí)現(xiàn)。挖出來(lái)分析一下。它能對(duì)各種普通對(duì)象,字符串,數(shù)組以及類數(shù)組進(jìn)行遍歷。如果原游覽器的對(duì)象已實(shí)現(xiàn)此函數(shù),它則調(diào)用原對(duì)象的函數(shù)。
    2010-01-01

最新評(píng)論