前言

众所周知因为疫情的原因大家都没有办法上学和上班,“钉钉”这个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. Tomcat双击startup.bat闪退的原因及解决方式

    很久不碰Tomcat了,最近因为种种原因需要重新投入到Java Web的怀抱,所以又重新接触了Tomcat 我下载了tomcat的压缩包将其解压缩到某个位置,我这里是D盘下的tomcat文件夹中,但是 ...

  2. java 面向对象(二十一):属性的赋值顺序

    * ①默认初始化 * ②显式初始化/⑤在代码块中赋值 * ③构造器中初始化 * ④有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * ...

  3. Django- 开发通用且万能的的权限框架组件

    本节内容 需求讨论 权限设计 代码设计 自定义权限钩子 业务场景分析 假设我们在开发一个培训机构的 客户关系管理系统,系统分客户管理.学员管理.教学管理3个大模块,每个模块大体功能如下 客户管理销售人 ...

  4. Django之 Models组件

    本节内容 路由系统 models模型 admin views视图 template模板 引子 讲django的models之前, 先来想一想, 让你通过django操作数据库,你怎么做? 做苦思冥想, ...

  5. Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系

    Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...

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

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

  7. 用maven打包java项目的pom文件配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. Python Ethical Hacking - VULNERABILITY SCANNER(6)

    EXPLOITATION - XSS VULNS EXPLOITING XSS Run any javascript code. Beef framework can be used to hook ...

  9. scratch编程滑雪者游戏教程

    首先我们来看一下效果:​​​​​​​​​​​​​​​​ 我们从演示中能看出4个角色:企鹅.大树.旗子和装饰用的坎,我们通过键盘操控企鹅滑雪躲避树并捡起旗子,现在我们就来看看是怎么编的吧! 首先我们要画 ...

  10. Centos7安装ftp服务

    本文介绍的ftp是可以使用匿名用户登录,且默认路径是根路径,私人使用非常方便,公开使用具有一定的风险,不安全. # .安装 yum install -y vsftpd # .配置 vim /etc/v ...