使用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合并多个装饰器小技巧
Apr 28 Python
微信跳一跳python辅助软件思路及图像识别源码解析
Jan 04 Python
Python实现快速计算词频功能示例
Jun 25 Python
Python初学者需要注意的事项小结(python2与python3)
Sep 26 Python
Python实现Event回调机制的方法
Feb 13 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
详解Django CAS 解决方案
Oct 30 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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
推荐文章系统(一)
2006/10/09 PHP
php array_search() 函数使用
2010/04/13 PHP
理解和运用PHP中的多态性[译]
2011/08/02 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
js数组去重的方法总结
2019/01/18 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
深入解析Python中的线程同步方法
2016/06/14 Python
python和ruby,我选谁?
2017/09/13 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
python如何删除文件中重复的字段
2019/07/16 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
通用求职信范文模板分享
2013/12/27 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
初中数学教学随笔
2015/08/15 职场文书
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android