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

作者:zqwcrystal 时间:2021-02-27 02:41:34 

上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定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实现企业微信的自动打卡功能,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.jianshu.com/p/3951f2351cf3

标签:python,企业,微信,打卡
0
投稿

猜你喜欢

  • Persits AspJpeg组件图片水印\\缩略图\\图片合并\\图片切割\\实例教程

    2008-12-14 10:36:00
  • 用于分页的两个Asp函数

    2007-09-07 10:09:00
  • ASP表单验证方法总结

    2007-10-06 22:43:00
  • T-SQL问题解决集锦 数据加解密全集

    2012-07-11 15:34:08
  • Mootools 1.2教程(4)——函数

    2008-11-18 15:36:00
  • php文件缓存类用法实例分析

    2023-08-17 16:26:44
  • python实现学生信息管理系统(面向对象)

    2022-06-13 16:16:07
  • Linux下利用python实现语音识别详细教程

    2022-07-13 15:11:55
  • python中封装token问题

    2022-09-29 01:09:32
  • PHP实现加减乘除最简单的实例分享

    2023-06-14 16:17:41
  • [翻译]标记语言和样式手册 Chapter 7 锚点

    2008-01-28 14:01:00
  • 获取python的list中含有重复值的index方法

    2022-03-06 20:54:02
  • HTML编写小经验

    2011-06-14 09:43:14
  • 需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析

    2023-11-19 02:10:43
  • python制作简单计算器功能

    2022-08-06 20:57:16
  • SQLserver中字符串查找功能patindex和charindex的区别

    2012-06-06 20:20:42
  • Mysql数据库的安全性问题释疑

    2009-02-26 16:20:00
  • Python选课系统开发程序

    2023-07-21 00:25:03
  • MIME Type 引出的两难困境

    2011-06-14 09:45:41
  • OracleEXP和IMP用法和介绍

    2010-07-28 13:18:00
  • asp之家 网络编程 m.aspxhome.com