圆月山庄资源网 Design By www.vgjia.com
每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡。
1 前期工具准备
- 不用说的Python
- 一部24小时可以放公司的安卓手机或电脑安装模拟器
- ADB工具
2 ADB的安装配置
去下载ADB安装包,安装后在环境变量Path中添加目录
2.1 UIautomator2的安装
# 安装 uiautomator2(PC端) pip3 install -U uiautomator2
3 手机连接电脑
3.1 手机
如果使用的是手机,需要手机开启“开发者选项”模式,然后USB调试打开,将USB插入电脑
命令行输入
adb devices
检测手机是否连接成功
下面这样就说明成功了
然后运行
python3 -m uiautomator2 init
将atx-agent安装到手机
3.2模拟器
如果使用模拟器,在模拟器的设置中将ADB连接打开,同样在命令行输入adb devices
检测是否连接成功,是用模拟器的话定位位置需要更改为公司要求打卡范围内,后续步骤同上
4 webitor安装使用
为了抓取控件更方便安装weditor
pip install --pre weditor
命令行输入
python -m weditor
在弹开的浏览器中进行操作
输入框中填入第三步得到的设备序列号,然后点击Connect,正常的话会有个绿色的叶子,应用控件的信息就需要在这里拿到了
5 代码开发
import uiautomator2 as u2 import time from apscheduler.schedulers.blocking import BlockingScheduler d = u2.connect_usb('b11b0fbe') def click_text(self,str,sq=0): #对于无法直接点击的控件写了个函数 path=d(text=str)[sq] x,y=path.center() d.click(x,y) def click(card_ty): d.app_start("com.alibaba.android.rimet") # 启动应用 time.sleep(5) d(text="工作台").click() time.sleep(3) d(text="考勤打卡").click() time.sleep(3) d(scrollable=True).fling.toEnd() click_text(d,card_ty,-1) time.sleep(3) d.screenshot("11.jpg") d.push("11.jpg", "/sdcard/0/11.jpg") d.app_stop("com.alibaba.android.rimet") send_info() def send_info(): #将打卡信息截图利用小号发送给自己大号 d.app_start("com.tencent.mm") # 启动应用 time.sleep(5) click_text(d,"通讯录") click_text(d,"打卡") click_text(d,"发消息") time.sleep(2) d(description="更多功能按钮,已折叠").click() time.sleep(2) d.swipe(1000, 1450, 100, 1450) time.sleep(2) click_text(d,"文件") time.sleep(2) click_text(d,"微信文件",-1) click_text(d,"手机存储") click_text(d,"0") d(resourceId="com.tencent.mm:id/cvh").click() d(text="发送(1/9)").click() d(text="给朋友留言").click() d.send_keys("今日打卡记录,请注意查收", clear=True) d(text="发送").click() time.sleep(5) d.app_stop("com.tencent.mm") def job1(): click("上班打卡") def job2(): click("下班打卡") if __name__ == "__main__": sched = BlockingScheduler() #设置定时任务,周一至周五 上午8.50自动打上班卡,下午6.10自动打下班卡 sched.add_job(job1, 'cron', day_of_week='mon-fri', hour='8',minute ='50') sched.add_job(job2, 'cron', day_of_week='mon-fri', hour='18',minute ='10') sched.start()
其中打卡部分以及微信发送打卡截图部分的代码,需要大家自己根据自己实际的情况做步骤调整。另外不习惯使用apscheduler库的话用系统自带的任务计划程序也是可以的,部分步骤效果如下:
企业微信打卡同理,大家可以自行研究,希望大家只是用于学习,不要挑战公司规章制度。
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月01日
2024年11月01日
- 英雄联盟s14四强开始时间 英雄联盟s14四强赛程表一览
- 英雄联盟s14四强赛在哪举办 英雄联盟s14半决赛举办地点一览
- 《三国志8重制版》全女将一览
- 《英雄联盟》Faker第七次晋级决赛
- 《历史时代3》下载方法
- EchoVocalEnsemble-Innocence(2024)[WAV]
- BuceadorVoltio-Satelite(2024)[24-48]FLAC
- VilmPribyl-SmetanaDalibor(2024)[24Bit-WAV]
- 高通骁龙8至尊版亮相:性能领先A18 Pro达到40%,更有多项首发
- 2024骁龙峰会:自研Oryon CPU登陆手机、汽车丨骁龙8至尊版、骁龙至尊版汽车平台
- 稀有度拉满!首款小马宝莉背卡引爆网络热梗
- 群星《全糖少爷1 影视原声带》[320K/MP3][98.36MB]
- 群星《全糖少爷1 影视原声带》[FLAC/分轨][420.97MB]
- 群星《老家伙 电视原声带》[320K/MP3][71.23MB]
- 林忆莲.1987-灰色【SONY】【WAV+CUE】