双11,自动领取优惠券 js 代码

http://www.zhihu.com/question/36426051/answer/67690322

本来我不熟悉 js,正好研究一下

 1 (function(window, document) {
 2     var interval = 800;
 3     var closeDelay = 200;
 4     var index = 0;
 5     var couponLinks;
 6     var getCoupon = function() {
 7         if (index >= couponLinks.length) {
 8             console.log("领取完毕");
 9             return;
10         }
11         var coponLink = couponLinks[index];
12         coponLink.click();
13         index++;
14         console.log("领取 第" + index + " 张");
15         setTimeout(getCoupon, interval);
16         setTimeout(function() {
17             var close = document.querySelector('.mui-dialog-close');
18             if (close != null) close.click();
19         }, closeDelay);
20     }
21 
22     var _scrollTop = 0;
23     var _scrollStep = document.documentElement.clientHeight;
24     var _maxScrollTop = document.body.clientHeight - _scrollStep;
25 
26     var autoScrollDown = setInterval(function() {
27         _scrollTop += _scrollStep;
28         if (_scrollTop <= _maxScrollTop) {
29             document.body.scrollTop = _scrollTop;
30             return;
31         }
32         clearInterval(autoScrollDown);
33 
34         couponLinks = document.querySelectorAll('.mui-act-item-yhqbtn');
35         console.log("总共:" + couponLinks.length + "条张优惠券待领取…");
36         getCoupon();
37     }, 500);
38 }) (window, document);

搜一下关键的几个函数和变量,就很容易理解了。

document.querySelector
document.querySelectorAll
document.documentElement.clientHeight
document.body.clientHeight
document.body.scrollTop
setInterval
setTimeout

搞明白了这几含义,写个自动领券的代码还不是分分钟~

+V d2h5X251bGw= 请备注:from博客园
原文地址:https://www.cnblogs.com/hangj/p/4884127.html