公司每天要求早晚打卡,方式是登录某一个页面,然后点击上面的圈圈,如下图:
每天都要打开书签,登录这个页面,然后打卡。。。这么重复性的工作,怎么能是程序员天天干的事情呢(其实是我太懒了),那么就尝试让程序来解决吧!
最开始想的是用python,然后深入想了一下之后发现本人学艺不精,涉及到urllib的东西一大堆,完全不想去研究,毕竟我只是想打个卡啊!接下来又想到了cmd,尝试了一下可以用批处理打开浏览器并进入到打卡的页面,但是接下来怎么点击中间的那个ball呢?谷歌了一上午,没啥发现,倒是无意中在某论坛里看到有用vbs来做类似的事情的,于是研究了一下并不熟悉的代码,凭着天马行空的猜测弄出来了下面这个鬼东西:
dim ie set ie =wscript.createobject("internetexplorer.application") set wshell=createobject("wscript.shell") ie.navigate "http://某打卡网址" ie.visible=1 Do Until ie.ReadyState = 4 '等待页面加载完成 wscript.sleep 1000 Loop wshell.sendKeys "{ENTER}" '在这里要确认自己的账号密码,所以需要模拟按一下回车 Do Until ie.ReadyState = 4 wscript.sleep 1000 Loop wscript.sleep 1000 For i=0 To ie.document.all.length-1 if i=396 then'经过无数次调试之后发现页面上打卡的元素(也就是那个ball)相对于网页第一个元素的偏移量是396,不要问我为什么这么写,因为我不会网页设计,用不来document.getelementByid,主要的难度也就在这里了,都是泪
ie.document.all(i).click
end if
Next
msgbox "Done!"
有了脚本,再在windows里设置一个计划任务,妈妈再也不用担心我忘记打卡了