使用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编写简单的定时器的方法
May 02 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
python字符串的方法与操作大全
Jan 30 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
python线程池 ThreadPoolExecutor 的用法示例
Oct 10 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
python常量折叠基础知识点讲解
Feb 28 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常用代码
2006/11/23 PHP
php HandlerSocket的使用
2011/05/02 PHP
javascript dom代码应用 简单的相册[firefox only]
2010/06/12 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
解决vue的router组件component在import时不能使用变量问题
2020/07/26 Javascript
Python基于有道实现英汉字典功能
2015/07/25 Python
python中set常用操作汇总
2016/06/30 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
Python实现的计数排序算法示例
2017/11/29 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
使用索引有什么好处
2016/07/27 面试题
三问三解心得体会
2014/09/05 职场文书
检讨书1000字
2014/10/11 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
JVM之方法返回地址详解
2022/02/28 Java/Android
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS