几行python代码实现钉钉自动打卡,网友:终于告别缺勤了
前言
众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个app起到了重大的作用。学校为了学生成绩开启“钉钉”之路。老师也成一个“合格”的主播,感谢XXX童鞋的礼物、666扣起来
老师为了营造一个好的学习环境,直播风格也是独具一格。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
钉钉到底有什么功能为大众所用呢?
为什么要写钉钉打卡?
其实我是个早起早睡的乖宝宝,所以我是用不上的,至于为什么要写这个脚本,其实是因为我在加班,工作干完了,还有10分钟可以下班,那就利用10分钟学(装)个(个)习(B)。废话就不说了, 快下班了。直接开干.
说下思路吧
用python调用adb命令通过x,y点位来操作手机,在写个定时器就好了,简单吧。10分钟够了……
准备环境
- Android 手机一部(我用的华为荣耀10)
- adb 工具包,下载安装包并配置环境变量
- python3环境
安装adb 配置环境变量
- 下载adb : 网上太多了,找一个就好了,我要和时间赛跑 (> _ <……)
- 配置环境变量: 这个是基础,python环境配置我都不打算在这里说的,adb配置好adb --version 检查下
设置手机
- 数据线连接电脑 ,手机打开开发者模式,输入 adb devices,出现下图就是连接上手机了
- 手机进行设置,在开发者模式里找到指针位置选项,并打开,是为了获取点位信息的
写脚本
在写之前需要了解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 关掉钉钉进程
导入需要用的包
import os
import time
手动操作一遍没记录每一步的x,y的点位,再用python写出来
def daka():
print(os.system('adb shell input keyevent 224')) # 打开电源键
time.sleep(3)
print(os.system('adb shell input tap 647 1685 ')) # 点击钉钉应用位置
time.sleep(3)
print(os.system('adb shell input tap 528 2190 ')) # 点击钉钉菜单
time.sleep(3)
print(os.system('adb shell input swipe 747 1413 747 323')) # 上滑找考勤打卡程序
time.sleep(3)
print(os.system('adb shell input tap 910 1011 ')) # 点击考勤打卡
time.sleep(3)
"""
这个就是要写打开的操作了,我不能打卡,我还要加班,省的人事小姐姐找我喝咖啡,很简单,这一步自己写吧,**我跳过**
"""
print(os.system('adb shell am force-stop com.alibaba.android.rimet')) # 操作打卡完成后关闭钉钉应用
pass
怎么查看包名
adb shell am monitor 然后在手机打开应用即可
截图真费时间,感觉时间快不够了,要不我一会录屏吧…………额 好像已经搞定了 …………
随便写个定时器吧,你们可以自己优化下定时器哦,我写的比较糙咯……
""" 定义个返回秒的函数"""
def sleeptime(hour, min, sec):
return hour * 3600 + min * 60 + sec
# 设置自动执行间隔时间,我这里设置时间,啊!现在是凌晨12点整了,早上9点上班那我就先让下次是8小时候执行吧
second = sleeptime(8, 0, 0)
# 来个暴力的死循环
while 1 == 1:
# 延时
time.sleep(second)
# 执行
daka()
来个代码总结
# -*- coding: utf-8 -*-
'''
@Created on 2019/12/20
@Author : Pa Lengderen
'''
# 引入time包
import os
import time
def daka():
print(os.system('adb shell input keyevent 224')) # 电源键
time.sleep(3)
print(os.system('adb shell input tap 647 1685 ')) # 点击钉钉应用
time.sleep(3)
print(os.system('adb shell input tap 528 2190 ')) # 点击菜单
time.sleep(3)
print(os.system('adb shell input swipe 747 1413 747 323')) # 上滑
time.sleep(3)
print(os.system('adb shell input tap 910 1011 ')) # 点击考勤打卡
time.sleep(3)
print(os.system('adb shell am force-stop com.alibaba.android.rimet'))
pass
# 函数定义
def sleeptime(hour, min, sec):
print(hour * 3600 + min * 60 + sec)
return hour * 3600 + min * 60 + sec
# 设置自动执行间隔时间,我这里设置的2s
second = sleeptime(0, 0, 10)
# 死循环
while 1 == 1:
# 延时
time.sleep(second)
# 执行
daka()
在上个手机录屏
手动录屏
呃呃呃(⊙﹏⊙) ,突然发现钉钉的个人信息太多了,我要食言了!!!尴尬
头像不能丢。为了学(装)习(B),我无所畏惧
几行python代码实现钉钉自动打卡,网友:终于告别缺勤了的更多相关文章
- 哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说
<哪吒之魔童降世>这部国产动画巅峰之作,上映快一个月时间,票房口碑双丰收. 迄今已有超一亿人次观看,票房达到42.39亿元,超过复联4,跻身中国票房纪录第三名,仅次于<战狼2> ...
- 200行Python代码实现2048
200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...
- 10 行 Python 代码实现模糊查询/智能提示
10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...
- 一个 11 行 Python 代码实现的神经网络
一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...
- 40多行python代码开发一个区块链。
40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...
- 15行python代码,帮你理解令牌桶算法
本文转载自: http://www.tuicool.com/articles/aEBNRnU 在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法 ...
- 30行Python代码实现人脸检测
参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...
- 21行python代码实现拼写检查器
引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...
- vim中凝视多行python代码
在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...
- 几行python代码解决相关词联想
日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的.笔者认为最简单的 ...
随机推荐
- Unity-内存
editor 和runtime的内存管理分开的 unity检测不到native内存容量 如c++,lua 一个asset一个ab的问题在于 每个asset都有对应的文件头,并不划算 IL2CPP抛弃了 ...
- SpringCloud全家桶介绍及手绘架构
文章目录 概述 一.业务场景介绍 二.Spring Cloud核心组件:Eureka 三.Spring Cloud核心组件:Feign 四.Spring Cloud核心组件:Ribbon 五.Spri ...
- maven自动创建项目目录骨架
方法一: 1:打开命令窗口 在要创建项目的路径下按住H2SIT ,然后点击右键 ,在弹出菜单中选择 在此处打开命令窗口(W) 2:目录创建 方法二:
- Windows 磁盘分区后如何再合并&如何用Windows自带工具扩大某个分区
Windows 磁盘分区后如何再合并&用Windows自带工具扩大某个分区 注:此方法有一定的成功率,更加完善可行的方法请看http://www.diskgenius.cn/help/part ...
- CUDA中关于C++特性的限制
CUDA中关于C++特性的限制 CUDA官方文档中对C++语言的支持和限制,懒得每次看英文文档,自己尝试翻译一下(没有放lambda表达式的相关内容,太过于复杂,我选择不用).官方文档https:// ...
- 我和ABP vNext 的故事
Abp VNext是Abp的.NET Core 版本,但它不仅仅只是代码重写了.Abp团队在过去多年社区和商业版本的反馈上做了很多的改进.包括性能.底层的框架设计,它融合了更多优雅的设计实践.不管你是 ...
- 加班两个星期做的一个小系统~(winform)
不管怎么样~加班两个星期,单独一人,努力将公司需要用的系统给做出来了,也感谢提供技术帮助的可爱人儿~ 首先,系统有个检测版本的功能,若版本不是最新的,则会自动更新(公司要求,必须强制更新)~ 更新界面 ...
- java计算下一个整5分钟时间点
需求背景 我的需求是获取当前时间之后的下一个"整5分钟时间点". 首先,那么何为"整5分钟时间点"? 满足以下两个条件的时间: 分钟数等于以下时间中的一个,且秒 ...
- webview访问URL
// // Do any additional setup after loading the view. // //创建WKWebView // WKWebView *web = ...
- 如何消灭飞机的“黑色十分钟”,AI来帮忙
近年来,“AI的应用和落地”逐渐成了具化的关键词,它和很多事物很多行业结合在一起,形成了奇妙的“化学反应”.例如,在日常生活中,AI可以推送我们喜欢的新闻或视频,可以在拍照的时候识别场景提升照片的美感 ...