前言

众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个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代码实现钉钉自动打卡,网友:终于告别缺勤了的更多相关文章

  1. 哪吒票房超复联4,100行python代码抓取豆瓣短评,看看网友怎么说

    <哪吒之魔童降世>这部国产动画巅峰之作,上映快一个月时间,票房口碑双丰收. 迄今已有超一亿人次观看,票房达到42.39亿元,超过复联4,跻身中国票房纪录第三名,仅次于<战狼2> ...

  2. 200行Python代码实现2048

    200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...

  3. 10 行 Python 代码实现模糊查询/智能提示

    10 行 Python 代码实现模糊查询/智能提示   1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...

  4. 一个 11 行 Python 代码实现的神经网络

    一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...

  5. 40多行python代码开发一个区块链。

    40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...

  6. 15行python代码,帮你理解令牌桶算法

    本文转载自: http://www.tuicool.com/articles/aEBNRnU   在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法 ...

  7. 30行Python代码实现人脸检测

    参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...

  8. 21行python代码实现拼写检查器

    引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...

  9. vim中凝视多行python代码

    在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...

  10. 几行python代码解决相关词联想

    日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的.笔者认为最简单的 ...

随机推荐

  1. 数据可视化之powerBI技巧(一)PowerBI可视化技巧:KPI指标动态展示之TOPN及其他

    ​本文来自星友Beau的分享,在进行数据指标的展现时,对关键的少数单独展示,而对剩余的大多数折叠为其他项,是一个很常用的做法.Beau同学通过一个日常的办公场景,详细介绍了PowerBI实现的步骤,值 ...

  2. hihoCoder 1114 小Hi小Ho的惊天大作战:扫雷·一 最详细的解题报告

    题目来源:小Hi小Ho的惊天大作战:扫雷·一 解题思路:因为只要确定了第一个是否有地雷就可以推算出后面是否有地雷(要么为0,要么为1,如果不是这两个值就说明这个方案行不通),如果两种可能中有一种成功, ...

  3. MySQL基础架构分析

    文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! MySQL基础架构 一.引言 我们在学习MySQL的时候,迈 ...

  4. Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都 ...

  5. 面试京东T5,被按在地上摩擦,鬼知道我经历了什么?

    一转眼间,光阴飞快,各大企业都开始招人,各大学校也开始准备陆续入学. 金三银四已经快结束了,有的朋友发来喜报,面试上了一线大厂,也有没有面试上的朋友跑来跟我说,被虐惨了,几天给大家分享下我一个面试京东 ...

  6. day10:函数的实参&形参

    函数的参数 (参数:配合函数运算的值)参数:      (1)形参:形式参数,在函数的定义处      (2)实参:实际参数,在函数的调用处 形参: 普通形参(位置) , 默认形参 , 普通收集形参 ...

  7. [redis] -- 为什么那么快

    1 完全基于内存 2 数据结构简单,对数据操作也简单 3 只有单线程,避免了不必要的上下文切换,也不存在竞态,不存在多进程或多线程导致的切换而消耗CPU,不用开了各种锁的问题 4 使用多路IO复用模型 ...

  8. github 新功能 profile README.md

    引 自从github被微软收购后,每天都会有一些新花样,ui变化,界面变化,更多的功能,相信这个它会越来越好,程序员越来越喜欢.今天浏览大佬的github 无意中发现了 github profile ...

  9. Monster Audio 使用教程 (七) 防止声音过大,出现爆音

    有用户反映,如果音乐音量过大,会出现爆音. 这其实是音频信号过载了.只要最后输出的音量超过0db,就会出现爆音,这是数字音频都应该注意的问题. 所以,为了解决这个问题,限制器就出现了,它能把音频信号压 ...

  10. 性能测试必备知识(6)- 如何查看“CPU 上下文切换”

    做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 课前准备,安装 sysbench 下载 sy ...