关于自动打卡

因为公司经常性的加班,然后第二天上班会迟到,想着使用一台手机放在公司,然后每天自动打上班卡,并且使用微信进行通知我是否打卡成功。

逻辑设计

1、运行脚本
2、对比当前时间与设置的打卡时间
3、符合条件开始打卡并发送微信信息

自动打卡脚本

关于自动打卡的脚本我在之前的博客有写到,此处不多讨论。

微信通知

使用的库:

使用的是wxpywxpy官方介绍如下:

控制路由器、智能家居等具有开放接口的玩意儿
运行脚本时自动把日志发送到你的微信
加群主为好友,自动拉进群中
跨号或跨群转发消息
自动陪人聊天
逗人玩

总而言之,可用来实现各种微信个人号的自动化操作

通过获取微信机器人对象来进行相关操作

 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)

钉钉自动打卡并微信通知打卡成功相关推荐

  1. 微信小打卡,微信小打卡上打卡方法,被微信推荐的打卡小程序CSS margin(外边距)

    <style> p {background-color:yellow; } p.margin {margin-top:100px;margin-bottom:100px;margin-ri ...

  2. Android 实现企业微信自动打卡任务同时支持钉钉急速打卡模式

    前言 之前公司一直是弹性工作制 以工作任务为目标 自由上下班 日子过的不亦乐乎 自从人事来了以后 就颁布了第一条法令 看到这个无疑的痛苦的 对于一个几年没有打卡散人来说!!! 同时公司的财务小姐姐和其 ...

  3. 钉钉自动打卡上下班微信自动打卡(原理及源码)

    功能介绍: 就像项目的名字一样(auto-DingDing-bi~),这是一个钉钉自动打卡上班.下班的小脚本: 注意:自己调试的时候建议使用同事的手机,使用自己的手机在多次尝试的过程中容易打卡下班~~ ...

  4. 一款不用手动打卡,自动调起钉钉和企业微信上班打卡的App(更新篇)

    想要APK(安装包)的可以私聊我 我看到会第一时间发给你 (对此APP有其他想法的也欢迎沟通)介绍:进入app页面如果有需要悬浮窗权限,显示在其他应用的上层把他打开,总而言之有要权限的就打开就OK了, ...

  5. Python实现钉钉/企业微信自动打卡

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的P ...

  6. 工作党福利来了!Python实现钉钉/企业微信自动打卡

    每天急匆匆赶地铁上班的时候总会一不小心就会忘记打卡,尤其是软件打卡,那有没有什么办法可以解决忘打卡的问题呢?今天给大家推荐一下一款神器,利用Python实现定时自动打卡. 1 前期工具准备 不用说的P ...

  7. 4.Jenkins入门基础使用与邮箱钉钉微信消息通知集成配置与实践

    WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少. Tips : 本文章来源 Blog 站点或者 WeiyiGeek 公众账号 (技术交流.友链交换请邮我哟), 原文地址: 4.J ...

  8. 1小时学会jenkins集成邮件/微信/钉钉通知

    01 邮件通知 邮件扩展插件安装Email Extension Plugin,如果已经安装了则不需要再装 该插件可以提供更详细的邮件发送设置 QQ邮箱准备 公司里会用企业邮箱作为发件人,相关信息找邮箱 ...

  9. delphi 企业微信消息机器人_消息通知支持企业微信、钉钉机器人,MeterSphere v1.4.0发布...

    2020年10月27日15:00,MeterSphere v1.4版本发布说明会,现已开启官网报名. 10月27日,MeterSphere开源持续测试平台正式发布v1.4.0版本.在该版本中,Mete ...

最新文章

  1. python画折线图代码-python画折线示意图实例代码
  2. 【mongo】centos6.9安装mongo2.6.3
  3. Java 洛谷 P1200 [USACO1.1]你的飞碟在这儿 Your Ride Is Here
  4. 基于Git rebase修改历史提交信息
  5. H3C防火墙实现NAT+DHCP
  6. SpringMVC的数据响应方式-页面跳转
  7. 3 上传分段_32式太极拳教材分段教学:【3】32式太极拳背向演示 .3/25.
  8. 应用大数据开发环境监测全球标准
  9. Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容
  10. Java Lock的使用
  11. linux之安装模式的选择
  12. C++ 把引用作为函数参数
  13. 结构体 内存对齐 keil STM32
  14. 什么是SAP?SAP系统基础界面操作说明
  15. Json转换为txt
  16. [开发笔记]-多线程
  17. 关于被锁机软件修改硬盘引导扇区锁机软件读取密码的方法
  18. C++ 惯用法之 Nifty Counter
  19. CAD梦想画图中的“打断命令”
  20. 图片太大如何压缩?学会这个方法轻松压缩

热门文章

  1. python爬虫刨北上广深的房价来看看
  2. 15、PIC32系列-输入捕捉ICAP
  3. simon手册翻译_part1
  4. 优化理论16----Armijo-Goldstein准则、 Armijo-Goldstein搜索方法、python实现
  5. 2021-10-28 MyBatis学习
  6. uniapp 显示消息提示框 操作
  7. 深度剖析CMOS、FinFET、SOI和GaN工艺技术
  8. C# 使用WebSocket创建聊天室案例
  9. python-scrapy-MongoDB 爬取链家二手房
  10. new指针后,地址相同