热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

几行python代码实现钉钉自动打卡,网友:终于告别缺勤了,Go语言社区,Golang程序员人脉社

前言

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

老师为了营造一个好的学习环境,直播风格也是独具一格。

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

钉钉到底有什么功能为大众所用呢?

为什么要写钉钉打卡?

其实我是个早起早睡的乖宝宝,所以我是用不上的,至于为什么要写这个脚本,其实是因为我在加班,工作干完了,还有10分钟可以下班,那就利用10分钟学(装)个(个)习(B)。废话就不说了, 快下班了。直接开干.

说下思路吧

用python调用adb命令通过x,y点位来操作手机,在写个定时器就好了,简单吧。10分钟够了……

准备环境

  • Android 手机一部(我用的华为荣耀10)
  • adb 工具包,下载安装包并配置环境变量
  • python3环境

安装adb 配置环境变量

下载adb : 网上太多了,找一个就好了,我要和时间赛跑 (> _ <……)

配置环境变量: 这个是基础,python环境配置我都不打算在这里说的,adb配置好adb --version 检查下

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

设置手机

数据线连接电脑 ,手机打开开发者模式,输入 adb devices,出现下图就是连接上手机了

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

手机进行设置,在开发者模式里找到指针位置选项,并打开,是为了获取点位信息的

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

写脚本

在写之前需要了解adb常用命令

  • a,adb shell input keyevent 224 # 电源
  • b,adb shell input tap 647 1685 # 点击事件
  • c,adb shell input swipe 747 1413 747 323 # 滑动事件
  • d,adb shell am force-stop com.alibaba.android.rimet 关掉钉钉进程

导入需要用的包

  1. import os  
  2. import time 

手动操作一遍没记录每一步的x,y的点位,再用python写出来

  1. def daka():  
  2. print(os.system('adb shell input keyevent 224')) # 打开电源键  
  3. time.sleep(3)  
  4. print(os.system('adb shell input tap 647 1685 ')) # 点击钉钉应用位置  
  5. time.sleep(3)  
  6. print(os.system('adb shell input tap 528 2190 ')) # 点击钉钉菜单  
  7. time.sleep(3)  
  8. print(os.system('adb shell input swipe 747 1413 747 323')) # 上滑找考勤打卡程序  
  9. time.sleep(3)  
  10. print(os.system('adb shell input tap 910 1011 ')) # 点击考勤打卡  
  11. time.sleep(3)  
  12. ""

这个就是要写打开的操作了,我不能打卡,我还要加班,省的人事小姐姐找我喝咖啡,很简单,这一步自己写吧,**我跳过**

  1. ""
  2.  
  3. print(os.system('adb shell am force-stop com.alibaba.android.rimet')) # 操作打卡完成后关闭钉钉应用 
  4.  
  5. pass 

怎么查看包名

  1. adb shell am monitor 然后在手机打开应用即可 
几行python代码实现钉钉自动打卡,网友:终于告别缺勤了

截图真费时间,感觉时间快不够了,要不我一会录屏吧…………额 好像已经搞定了 …………

随便写个定时器吧,你们可以自己优化下定时器哦,我写的比较糙咯……

  1. """ 定义个返回秒的函数"""  
  2. def sleeptime(hourmin, sec):  
  3. return hour * 3600 + min * 60 + sec  
  4. # 设置自动执行间隔时间,我这里设置时间,啊!现在是凌晨12点整了,早上9点上班那我就先让下次是8小时候执行吧  
  5. second = sleeptime(8, 0, 0) 
  6.  # 来个暴力的死循环  
  7. while 1 == 1:  
  8. # 延时  
  9. time.sleep(second 
  10. # 执行  
  11. daka()  
  12. 来个代码总结  
  13. # -*- coding: utf-8 -*-  
  14. '' 
  15. @Created on 2019/12/20  
  16. @Author : Pa Lengderen  
  17. '' 
  18. # 引入time包  
  19. import os  
  20. import time  
  21. def daka():  
  22. print(os.system('adb shell input keyevent 224')) # 电源键  
  23. time.sleep(3)  
  24. print(os.system('adb shell input tap 647 1685 ')) # 点击钉钉应用  
  25. time.sleep(3)  
  26. print(os.system('adb shell input tap 528 2190 ')) # 点击菜单  
  27. time.sleep(3)  
  28. print(os.system('adb shell input swipe 747 1413 747 323')) # 上滑  
  29. time.sleep(3)  
  30. print(os.system('adb shell input tap 910 1011 ')) # 点击考勤打卡  
  31. time.sleep(3)  
  32. print(os.system('adb shell am force-stop com.alibaba.android.rimet'))  
  33. pass  
  34. # 函数定义  
  35. def sleeptime(hourmin, sec):  
  36. print(hour * 3600 + min * 60 + sec)  
  37. return hour * 3600 + min * 60 + sec  
  38. # 设置自动执行间隔时间,我这里设置的2s  
  39. second = sleeptime(0, 0, 10)  
  40. # 死循环  
  41. while 1 == 1:  
  42. # 延时 
  43.  
  44. time.sleep(second)
  45. # 执行  
  46. daka() 

在上个手机录屏

手动录屏

呃呃呃(⊙n⊙) ,突然发现钉钉的个人信息太多了,我要食言了!!!尴尬


推荐阅读
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
  • Python字典推导式及循环列表生成字典方法
    本文介绍了Python中使用字典推导式和循环列表生成字典的方法,包括通过循环列表生成相应的字典,并给出了执行结果。详细讲解了代码实现过程。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
author-avatar
搁浅几世琉璃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有