4.2 程序员小明的情书-JavaScript脚本的力量

大仁: 小明,听说你大学的专业是计算机科学与技术?
小明: 是的,大仁哥。
大仁: “那好,去帮我抢个荣耀v9。”
小明:领导,请你尊重这门专业,计算机科学是……
大仁: 请你谈谈NAS设备卷管理模块中失效数据恢复问题的应用。
小明:大仁哥,脚本写好了”

1.效果图

运行的效果图,就是模拟不断点击换一换的效果

image

2.图解

怎么做的呢?让我们一步步分解

image
image
document.getElementsByClassName("hot-refresh")[0]

已经获取该元素

image

模拟点击

image

定时器每100毫秒点击一次

setInterval(function () {
    if (Date.now() > new Date("2017-3-21 10:08:00"))  {
        document.getElementsByClassName("hot-refresh")[0].click()
    }
}, 100);

1.大于某个时间点
2.模拟点击

3.JS组成

  1. 核心(基于ECMAScript规范)
  2. 文档对象模型(DOM)
  3. 浏览器对象模型(BOM)
image

window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象

由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象,例如下面两行代码是一样的:

document.write("www.jianshu.com");
window.document.write("www.jianshu.com");

image

通过这样的树,我们就可以很快找到我们想要操作的节点,进而进行各种属性,方法,事件等的操作。
注意元素、属性、和内容之间的区别,简单的说,网页上可见的东西叫做内容,内容是被开标签,闭标签抱起来的那部分:我的链接,属性说明元素的特点

4. chrome扩展程序

为什么要打包成扩展程序,console的脚本reload之后会被清空无法继续执行,扩展程序是个好东西

image
image
image
{  
  "name": "第一个Chrome插件",  
  "manifest_version": 2,  
  "version": "1.0",  
  "description": "jack的第一个chrome扩展程序",  
  "browser_action": {  
    "default_icon": "logo.png"  
  },
  "content_scripts": [  
    {  
      "matches": ["https://www.baidu.com/*"],  
      "js": ["content.js"]  
    }  
  ]   
}  

setInterval(function () {
    if (Date.now() > new Date("2017-3-21 10:08:00"))  {
        document.getElementsByClassName("hot-refresh")[0].click()
    }
}, 100);

5. 阿里月饼脚本分析

setInterval(function() {
  if(Date.now() >= new Date("2016-09-12 15:59:00")) {
     $("#seckillQuantity").val(1);//1盒               
     $(".buyButtons.J_buyButtons").click();//抢购按钮
     var value = $(".answerList").children().eq(0).html(); //验证码取值  
     $('#randomAnswer').val(value);//验证码填值
     $('.answer-button').children().eq(0).click();//提交验证码
  }
}, 10)

6. 华为荣耀V9抢购

image
image
setInterval(function () {
    if (Date.now() > new Date("2017-3-21 10:08:00"))  { //时间修改为当天的10:08
        document.getElementsByClassName("button-style-disabled-1 button-event-disabled")[0].click() 
 //class得看10:08分后的 复制下来就行,明天看看 更新下
    }
}, 10);

放到chrome扩展程序就不会被reload清空了

7.附上一个查看密码的技巧

image
image

大仁:咦,这个链接是干嘛的?
小明:糟了,这个不是我的情书脚本么?(超级酷炫有爱的js情书)

查看原文,可以看到小明用JavaScript写的情书,参考程序员开源,希望各位看官们为小明转发,转发超过1000次,小奈将接受小明的告白,查看原文为小明疯狂打call把。

小明用JavaScript写的的情书

你可能感兴趣的:(4.2 程序员小明的情书-JavaScript脚本的力量)