使用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编写的微博应用
Oct 17 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 Python
Python unittest模块用法实例分析
May 25 Python
使用Python实现在Windows下安装Django
Oct 17 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
python str字符串转uuid实例
Mar 03 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 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中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
ionic+html5+API实现双击返回键退出应用
2019/09/17 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
python+opencv实现阈值分割
2018/12/26 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
Python随机数函数代码实例解析
2020/02/09 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
django正续或者倒序查库实例
2020/05/19 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
行政管理毕业生自荐信
2014/02/24 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
贫困证明书范文
2015/06/16 职场文书
行政处罚听证告知书
2015/07/01 职场文书
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers