前言

众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个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. java 基本语法(四) 流程控制(一) 分支结构

    if(条件表达式){ 执行表达式} 结构二:二选一if(条件表达式){ 执行表达式1}else{ 执行表达式2} 结构三:n选一if(条件表达式){ 执行表达式1}else if(条件表达式){ 执行 ...

  2. 06 drf源码剖析之权限

    06 drf源码剖析之权限 目录 06 drf源码剖析之权限 1. 权限简述 2. 权限使用 3.源码剖析 4. 总结 1. 权限简述 权限与身份验证和限制一起,决定了是否应授予请求访问权限. 权限检 ...

  3. Linux06 /Python web项目部署

    Linux06 /Python web项目部署 目录 Linux06 /Python web项目部署 1. 部署方式 2. 纯后端代码部署/CRM为例 1. 部署方式 2. crm项目详细部署步骤 3 ...

  4. tensorflw-gpu 运行 。py程序出现gpu不匹配的问题

    安装好了tensorflow-gpu版本,然后程序中写好了 with tf.device('/gpu:0'):   但是python3 .py程序时还是有错误. 报错为: 2018-04-24 12: ...

  5. python利用difflib判断两个字符串的相似度

    我们再工作中可能会遇到需要判断两个字符串有多少相似度的情况(比如抓取页面内容存入数据库,如果相似度大于70%则判定为同一片文章,则不录入数据库) 那这个时候,我们应该怎么判断呢? 不要着急,pytho ...

  6. Python Ethical Hacking - BACKDOORS(1)

    REVERSE_BACKDOOR Access file system. Execute system commands. Download files. Upload files. Persiste ...

  7. kubernetes+Azure DevOps实现.Net Core项目的自动化部署&均衡负载

    1. 前言 2. Net Core项目本身的准备 2.1 dockerfile 2.2 创建kubernetes用于helm的chart包 2.2.1 说明 2.2.2 chart文件目录和文件组成 ...

  8. Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)

    文章目录 一.项目背景 二.数据处理 1.标签与特征分离 2.数据可视化 3.训练集和测试集 三.模型搭建 四.模型训练 五.完整代码 一.项目背景数据集cnn_train.csv包含人类面部表情的图 ...

  9. Docker 入门教程(4)——docker-compse 服务编排

    Docker compose 简介 compose是用来定义和运行多个Docker容器. 比如一个简单的web项目,除了web服务之外,我们可能要需要数据库容器.注册中心容器等等.那我们需要: 定义各 ...

  10. class初探

    我们说类的时候,先回忆一下es5的构造函数 function myobj(x,y){ this.x= x; this.y =y; } myobj.prototype.add = function(){ ...