使用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 23 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
python实现一个简单的udp通信的示例代码
Feb 01 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
使用python turtle画高达
Jan 19 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
Python调用shell cmd方法代码示例解析
Jun 18 Python
PyTorch: Softmax多分类实战操作
Jul 07 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
python 从list中随机取值的方法
Nov 16 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
2018/11/21 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
flask框架配置mysql数据库操作详解
2019/11/29 Python
python range实例用法分享
2020/02/06 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
纽约海:Sea New York
2018/11/04 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
大学生村官考核材料
2014/05/23 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB