钉钉自动打卡并微信通知打卡成功
关于自动打卡
因为公司经常性的加班,然后第二天上班会迟到,想着使用一台手机放在公司,然后每天自动打上班卡,并且使用微信进行通知我是否打卡成功。
逻辑设计
1、运行脚本
2、对比当前时间与设置的打卡时间
3、符合条件开始打卡并发送微信信息
自动打卡脚本
关于自动打卡的脚本我在之前的博客有写到,此处不多讨论。
微信通知
使用的库:
使用的是wxpy,wxpy官方介绍如下:
控制路由器、智能家居等具有开放接口的玩意儿
运行脚本时自动把日志发送到你的微信
加群主为好友,自动拉进群中
跨号或跨群转发消息
自动陪人聊天
逗人玩
…
总而言之,可用来实现各种微信个人号的自动化操作
通过获取微信机器人对象来进行相关操作
b = Bot(console_qr=0,cache_path="..\wxpy.pkl")
b 就是机器人对象,实质上等同于一个微信客户端。
cache是是否保存登录信息,如果脚本多次调试的话,就不需要每次都扫码登录微信。
通过搜索好友昵称获得好友列表(list)
my_friends = b.friends().search('小王')
对好友列表中的好友发送信息:
my_friends[0].send('hello world')
自动打卡
因为钉钉上班卡一般是快捷打卡,每天早上只需要启动钉钉就会自动自动打卡,逻辑实现很简单,只需要启动APP就行。
上班卡不需要操作控件,因此只用adb命令进行APP启动也是可以的。但是若是还需要打下班卡就需要定位元素进行打卡,因此adb不行,在此采用的是uiautomator2库,之前的博文有提到过,这里不过分说明。
源码:
# -*- coding: utf-8 -*-
# @Time : 19-3-4 下午4:22
# @Author : Merlin
# @Email : shiehmerlin@gmail.com
# @File : w_bot.py
# @Software: PyCharmimport time
from wxpy import *
import threading
import uiautomatro2 as u2# 启动微信机器人
b = Bot(console_qr=0,cache_path="..\wxpy.pkl")
my_friend = b.friends().search('小王')[0] #这里搜索到的是一个list所以需要取第一个serialno = 'temp_serialno' # Android设备的adb devices号
apk = 'com.alibaba.android.rimet' #钉钉包名def shangban():try:d = u2.connect_usb(serialno) #连接设备time.sleep(5)d.app_stop(apk) #先停止APP,不然的话再启动APP不会触发钉钉自动快捷上班卡。d.app_start(apk)time.sleep(10)my_friend.send('打卡成功!')d.app_stop(apk)except Exception as e:raise e
def xiaban():'''下班卡需要元素定位,钉钉是混合应用,最好针对不同设备分辨率采用不同的坐标定位d(resourceId="com.alibaba.android.rimet:id/home_bottom_tab_icon", className="android.widget.ImageView", instance=1).click()这是元素定位到的情况d.drag(0.5,0.7,0.5,0.1,0.5)这是依据坐标滑动d.click(0.135, 0.65)这是依据坐标进行点击具体可见我之前博文提到的方法'''pass# 拿到当前时间并格式化
def get_time():nowtime = (time.strftime('%H%M', time.localtime(time.time())))return str(nowtime)if __name__ == "__main__":
# 当前时间与预设置时间进行对比,若相同则开始打卡# 如果想一直保持脚本的运行,可以把两个break删除,然后就会全天循环检测while 1:if get_time() == '0850': #这就是预设置的时间08:45,依据实际更改shangban()breakif get_time() == '1830': #这就是预设置的时间18:30,依据实际更改xiaban()breaktime.sleep(40)
钉钉自动打卡并微信通知打卡成功相关推荐
- 微信小打卡,微信小打卡上打卡方法,被微信推荐的打卡小程序CSS margin(外边距)
<style> p {background-color:yellow; } p.margin {margin-top:100px;margin-bottom:100px;margin-ri ...
- Android 实现企业微信自动打卡任务同时支持钉钉急速打卡模式
前言 之前公司一直是弹性工作制 以工作任务为目标 自由上下班 日子过的不亦乐乎 自从人事来了以后 就颁布了第一条法令 看到这个无疑的痛苦的 对于一个几年没有打卡散人来说!!! 同时公司的财务小姐姐和其 ...
- 钉钉自动打卡上下班微信自动打卡(原理及源码)
功能介绍: 就像项目的名字一样(auto-DingDing-bi~),这是一个钉钉自动打卡上班.下班的小脚本: 注意:自己调试的时候建议使用同事的手机,使用自己的手机在多次尝试的过程中容易打卡下班~~ ...
- 一款不用手动打卡,自动调起钉钉和企业微信上班打卡的App(更新篇)
想要APK(安装包)的可以私聊我 我看到会第一时间发给你 (对此APP有其他想法的也欢迎沟通)介绍:进入app页面如果有需要悬浮窗权限,显示在其他应用的上层把他打开,总而言之有要权限的就打开就OK了, ...
- Python实现钉钉/企业微信自动打卡
每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的P ...
- 工作党福利来了!Python实现钉钉/企业微信自动打卡
每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的P ...
- 4.Jenkins入门基础使用与邮箱钉钉微信消息通知集成配置与实践
WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少. Tips : 本文章来源 Blog 站点或者 WeiyiGeek 公众账号 (技术交流.友链交换请邮我哟), 原文地址: 4.J ...
- 1小时学会jenkins集成邮件/微信/钉钉通知
01 邮件通知 邮件扩展插件安装Email Extension Plugin,如果已经安装了则不需要再装 该插件可以提供更详细的邮件发送设置 QQ邮箱准备 公司里会用企业邮箱作为发件人,相关信息找邮箱 ...
- delphi 企业微信消息机器人_消息通知支持企业微信、钉钉机器人,MeterSphere v1.4.0发布...
2020年10月27日15:00,MeterSphere v1.4版本发布说明会,现已开启官网报名. 10月27日,MeterSphere开源持续测试平台正式发布v1.4.0版本.在该版本中,Mete ...
最新文章
- python画折线图代码-python画折线示意图实例代码
- 【mongo】centos6.9安装mongo2.6.3
- Java 洛谷 P1200 [USACO1.1]你的飞碟在这儿 Your Ride Is Here
- 基于Git rebase修改历史提交信息
- H3C防火墙实现NAT+DHCP
- SpringMVC的数据响应方式-页面跳转
- 3 上传分段_32式太极拳教材分段教学:【3】32式太极拳背向演示 .3/25.
- 应用大数据开发环境监测全球标准
- Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容
- Java Lock的使用
- linux之安装模式的选择
- C++ 把引用作为函数参数
- 结构体 内存对齐 keil STM32
- 什么是SAP?SAP系统基础界面操作说明
- Json转换为txt
- [开发笔记]-多线程
- 关于被锁机软件修改硬盘引导扇区锁机软件读取密码的方法
- C++ 惯用法之 Nifty Counter
- CAD梦想画图中的“打断命令”
- 图片太大如何压缩?学会这个方法轻松压缩