使用Python实现企业微信的自动打卡功能


Posted in Python onApril 30, 2019

上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定wifi打卡。

手机上有一些定时机器人之类的app,经过实际测试,全军覆没,没一个可以活着走到启动企业微信的这一步,所以还是靠自己吧。

下面就通过Python程序来实现自动打卡,原理很简单,用Python设置定时任务,然后通过adb操作手机,完成打卡。

1、准备工作

a、安装了Python,ADB驱动(安装方式及下载地址见之前文章)的电脑一台;常驻在公司的测试机一台;数据线一条。

b、将手机通过数据线连接电脑,打开开发者选项中的允许USB调试,然后命令行运行adb devices来测试下是否能显示设备,ok则准备工作完毕。

2、实现代码

#本手机安装了企业微信分身,可以打两个人的卡
# coding: utf-8
import os
import sys
import time
import schedule
import requests

def click():
 #打第一个卡
 os.system('adb shell input keyevent 82')#点亮屏幕
 time.sleep(1)
 os.system('adb shell input keyevent 3')#单击home键,回到主页
 time.sleep(1)
 os.system('adb shell input swipe 500 300 300 300')#左划屏幕
 time.sleep(1)
 os.system('adb shell input swipe 500 300 300 300')#左划屏幕
 time.sleep(2)
 os.system('adb shell input tap 920 800')#点击企业微信
 time.sleep(5)
 os.system('adb shell input tap 678 1820')
 time.sleep(5)
 os.system('adb shell input tap 410 330')
 time.sleep(10)
 os.system('adb shell input tap 540 1340')
 time.sleep(5)
 #打第二个卡
 os.system('adb shell input keyevent 3')
 time.sleep(1)
 os.system('adb shell input swipe 500 300 300 300')
 time.sleep(1)
 os.system('adb shell input swipe 500 300 300 300')
 time.sleep(2)
 os.system('adb shell input tap 660 1100')
 time.sleep(5)
 os.system('adb shell input tap 678 1820')
 time.sleep(5)
 os.system('adb shell input tap 410 330')
 time.sleep(10)
 os.system('adb shell input tap 540 1340')
 time.sleep(5)
 #推送消息给微信,此处可以删除,仅为通知
 url = 'http://wxmsg.dingliqc.com/send?msg=打卡成功&userIds=自己微信的uid'
 requests.get(url)
 sys.exit()
def main():
 '''
 主函数
 '''
 schedule.every().day.at('18:03').do(click)
 while True:
  schedule.run_pending()
  time.sleep(3)
if __name__ == '__main__':
 main()

关于代码中涉及到的坐标点,可以通过手机页面截图,放到电脑里编辑图片来查看触摸点的坐标值,跟机型和分辨率有关,需要针对自己的手机调试,sleep的时间根据手机性能,网络环境可以做优化,然后运行代码就行了。想后台运行的话

start /b python startwork.py

当然,最重要的一点,电脑要保持24H开机,程序员不担心这个,因为真正的程序员从不关机。

总结

以上所述是小编给大家介绍的使用Python实现企业微信的自动打卡功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
老生常谈Python基础之字符编码
Jun 14 Python
python数据结构链表之单向链表(实例讲解)
Jul 25 Python
python 生成器协程运算实例
Sep 04 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
解决python大批量读写.doc文件的问题
May 08 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python实现小世界网络生成
Nov 21 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 Python
用Python将库打包发布到pypi
Apr 13 Python
利用Python实现翻译HTML中的文本字符串
Jun 21 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 #Python
Python3.5迭代器与生成器用法实例分析
Apr 30 #Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 #Python
Django学习笔记之为Model添加Action
Apr 30 #Python
Python Opencv实现图像轮廓识别功能
Mar 23 #Python
python opencv实现图像边缘检测
Apr 29 #Python
Python Django给admin添加Action的方法实例详解
Apr 29 #Python
You might like
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
Python实现批量读取word中表格信息的方法
2015/07/30 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Django开发中的日志输出的方法
2018/07/02 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
船舶专业个人求职信范文
2014/01/02 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
连带责任保证书
2014/04/29 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL
以下牛机,你有几个
2022/04/05 无线电