如今手机横行,上班、走路、吃饭、厕所...都在用手机,顺应潮流,很多公司的上班打开也改为用手机APP打卡了,那么能否实现一个程序来自动定时打卡呢?我觉的有必要探索一下。
要解决的问题
是否能够通过程序来定时自动打卡,已避免忘记打卡。就像微信小程序“跳一跳”外挂那样,自动去执行。
方案思路
编写Python程序来控制android手机,并操作打卡APP进行定时自动打卡。
通过查阅资料,了解到Python支持对android手机的控制,那就好办了。
在阅读微信程序“跳一跳”的外挂代码时也得到了一些思路。
环境准备
下载Android SDK,并安装,记住安装路径;
为Python安装uiautomator包,可通过pip安装;
下载app-uiautomator.apk和app-uiautomator-test.apk并安装到测试机上;
这两个apk和adb驱动可以从下面的仓库下载:
https://github.com/ggangliu/mobile_phone_clockin_helper_for_android.git
所有准备好了,开工
用USB连接手机,并打开“开发者选项”调试模式;
进入Android SDK安装目录的platform-tools目录,然后在命令行执行 adb devices,如下结果表示手机已经连上。
接下来进入Android SDK安装目录的tools目录,直接双击执行uiautomatorviewer.bat,即可打开UI Automator Viewer工具。
打开后,按图示连接手机,获取屏幕快照。
如下图,当鼠标在快照上移动时,右上角会显示鼠标的坐标值。有了坐标值,我们好知道点屏幕的什么位置啊。O(∩_∩)O~,比如打开考勤APP,鼠标放在打卡图标上就能知道打卡按钮的位置。
接下来我们开始编写主要的Python代码,当前代码的操作是基于解除锁屏后可直接看到打卡界面的假设;
源码见:
https://github.com/ggangliu/mobile_phone_clockin_helper_for_android.git
接下来就让代码飞起来吧,根据自己情况做适当的修改。
思考
1、你想到的,可能别人已实现或正在实现的路上;
学以致用,纯技术探讨,如需帮助请私信
领取专属 10元无门槛券
私享最新 技术干货