今天看到一段js代码,是关于抢淘宝代金券的js代码,发现这段代码不是很长,但是很具有代表性,
类似于网络爬虫程序,由于代码不长,对于理解爬虫程序很有帮助,然后分析了下这段代码。
下面贴出代码,并附上我的一些注释。
1 (function(window, document, undefined) { 2 var interval = 800; //设置等待时间 3 var closeDelay = 200; //设置等待时间 4 var index = 0; //定义索引,从0开始 5 var couponLinks; //定义数组,存储优//惠卷的值 6 /** 7 * 定义获取优惠卷的方法 8 */ 9 var getCoupon = function() { 10 if (index >= couponLinks.length) { 11 console.log("领取完毕"); 12 return; 13 } 14 var coponLink = couponLinks[index]; 15 coponLink.click();//模拟点击事件 16 index++; 17 console.log("领取 第" + index + " 张"); 18 //以下setTimout定时函数,定时调用getCoupon() 19 setTimeout(getCoupon, interval); 20 //获取点击领取优惠券以后,关闭对话框! 21 setTimeout(function() { 22 var close = document.querySelector(‘.mui-dialog-close‘); 23 if (close != null) close.click(); 24 }, closeDelay); 25 } 26 //定义滚动条的垂直位置,初始值设为0。 27 var _scrollTop = 0; 28 //获取页面高度 29 var _scrollStep = document.documentElement.clientHeight; 30 //body对象的高度-可见区域高度 31 //试试document.body.scrollHeight? 32 var _maxScrollTop = document.body.clientHeight - document.documentElement.clientHeight; 33 var autoScrollDown = setInterval(function() { 34 //移动下一个可视窗口 35 _scrollTop += _scrollStep; 36 if (_scrollTop > _maxScrollTop) { 37 //取消定时操作 38 clearInterval(autoScrollDown); 39 40 //拿到所有的选定标签 41 couponLinks = document.querySelectorAll(‘.mui-act-item-yhqbtn‘); 42 //获取该页面的总数 43 console.log("总共:" + couponLinks.length + "条张优惠券待领取..."); 44 //对该页面取值 45 getCoupon(); 46 } else { 47 document.body.scrollTop = _scrollTop; 48 } 49 }, 500); 50 }) (window, document);
时间: 2024-10-11 00:27:35