公司每天要求早晚打卡,方式是登录某一个页面,然后点击上面的圈圈,如下图:

  每天都要打开书签,登录这个页面,然后打卡。。。这么重复性的工作,怎么能是程序员天天干的事情呢(其实是我太懒了),那么就尝试让程序来解决吧!

  最开始想的是用python,然后深入想了一下之后发现本人学艺不精,涉及到urllib的东西一大堆,完全不想去研究,毕竟我只是想打个卡啊!接下来又想到了cmd,尝试了一下可以用批处理打开浏览器并进入到打卡的页面,但是接下来怎么点击中间的那个ball呢?谷歌了一上午,没啥发现,倒是无意中在某论坛里看到有用vbs来做类似的事情的,于是研究了一下并不熟悉的代码,凭着天马行空的猜测弄出来了下面这个鬼东西:

dim ie
set ie =wscript.createobject("internetexplorer.application")
set wshell=createobject("wscript.shell") ie.navigate "http://某打卡网址"
ie.visible=
Do Until ie.ReadyState = '等待页面加载完成
wscript.sleep
Loop wshell.sendKeys "{ENTER}" '在这里要确认自己的账号密码,所以需要模拟按一下回车
Do Until ie.ReadyState =
wscript.sleep
Loop wscript.sleep For i= To ie.document.all.length-
if i= then'经过无数次调试之后发现页面上打卡的元素(也就是那个ball)相对于网页第一个元素的偏移量是396,不要问我为什么这么写,因为我不会网页设计,用不来document.getelementByid,主要的难度也就在这里了,都是泪
  ie.document.all(i).click
end if
Next msgbox "Done!"

有了脚本,再在windows里设置一个计划任务,妈妈再也不用担心我忘记打卡了

用VBS实现公司自动打卡的更多相关文章

  1. asp.net自动打卡、签到程序

    目前公司上下班签到是上局域网的一个系统去点一下,由于打卡比较简单,所以有些快迟到的同事会找已经到公司的人帮忙代打卡.”以其它身份运行程序“来打开IE,去帮人打下,有时多几个人,也要这样操作,我感觉挺麻 ...

  2. NXP 公司的 RFID 卡

    NXP 公司的 RFID 卡 NXP RFID MIFARE 产品概览   MIFARE 系列: Mifare Ultralight,简称 MF0. Mifare Classic,简称 MF1 M ...

  3. 公司手机打卡app时间和百度时间差30秒解决

    问题: 某天发现公司手机打卡app时间和百度时间差30秒解决 分析: nginx        192.168.0.23 外网 : 220.236.7.43 mysql主    192.168.0.2 ...

  4. 如何通过adb command 完成自动SD卡升级?

    如何通过adb command 完成自动SD卡升级? 原创 2014年09月09日 10:50:57 2746 通过adb 命令的方式,免去了按powerkey+volumeup进入menu sele ...

  5. 使用Java, AppleScript对晓黑板进行自动打卡

    使用Java, AppleScript对晓黑板进行自动打卡 由于我们学校要求每天7点起床打卡,但是实在做不到,遂写了这个脚本. 绪论 由于晓黑板不支持网页版,只能使用App进行打卡,所以我使用网易的安 ...

  6. 13.56mhz自动寻卡功能业界最低功耗:SI522

    随着智能门锁的不断火爆,很多智能门锁产商为了让产品的功耗下降下来,都在不断寻找能自动寻卡的13.56mhz.今天我就为大家推荐一款13.56mhz芯片自动寻卡业界最低功耗,不仅是业界最低另外还完全PI ...

  7. vbs脚本实现自动打字祝福&搞笑

    脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...

  8. 如何利用Python实现自动打卡签到

    需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是 ...

  9. 几行python代码实现钉钉自动打卡,网友:终于告别缺勤了

    前言 众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个app起到了重大的作用.学校为了学生成绩开启“钉钉”之路.老师也成一个“合格”的主播,感谢XXX童鞋的礼物.666扣起来 老师为了营造 ...

随机推荐

  1. OpenCV MAT基本图像容器

    参考博客: OpenCv中cv::Mat和IplImage,CvMat之间的转换 Mat - 基本图像容器 Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Mat ...

  2. (转)Predictive learning vs. representation learning 预测学习 与 表示学习

    Predictive learning vs. representation learning  预测学习 与 表示学习 When you take a machine learning class, ...

  3. malloc原理和内存碎片[转]

    当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1.检查要访问的虚拟地址是否合法 2.查找/分配一个物理页 3.填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4.建立映射关系 ...

  4. C#遍历指定文件夹中的所有文件和子文件夹

    参考:http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html DirectoryInfo TheFolder=new Direc ...

  5. Eclipse for j2ee 无法调式问题

    首先要配置tomcat,window--preference--server--Installed Runtimes, add--选择tomcat--next--选择tomcat的安装目录(根目录)- ...

  6. T-SQL中的随机数

    SQL开发中会有生成随机数的需求,下面说几种常用的需求和解决办法(基于MS SQL),最后总结出通用的办法: 1.0-9间的随机整数,包括0和9本身: abs(checksum(newid()))%1 ...

  7. PHP 模拟POST请求

    /** * 模拟post进行url请求 * @param string $url * @param array $post */ function request_post($url, $post = ...

  8. highchart 中数据千分位显示为空格而不是逗号的解决方案

    thousandsSep: String   一千的分隔符 在highcharts.js 中找到  thousandsSep位置,把"" 改为  ","

  9. 扩展Redis的Lua调用方式

    Redis是支持Lua脚本的,但是我以为并不方便. 1. SCRIPT LOAD一个字符串拿到一个SHA,首先这个Lua script脚本就很难拿到.Linux一般用cat什么的.但是你作为PHP怎么 ...

  10. MySQL服务 - MySQL程序的配置文件、参数、变量查看

    查看配置文件及读取顺序 MySQL的配置文件以.cnf结尾,可能会有多个,而不同版本的MySQL程序的读取配置文件的路径也都不同,要想获取MySQL读取配置文件的顺序可以通过以下指令查看: shell ...