使用Python实现企业微信的自动打卡功能
上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定wifi打卡。
手机上有一些定时机器人之类的app,经过实际测试,全军覆没,没一个可以活着走到启动企业微信的这一步,所以还是靠自己吧。
下面就通过Python程序来实现自动打卡,原理很简单,用Python设置定时任务,然后通过adb操作手机,完成打卡。
1、准备工作
a、安装了Python,ADB驱动(安装方式及下载地址见之前文章)的电脑一台;常驻在公司的测试机一台;数据线一条。
b、将手机通过数据线连接电脑,打开开发者选项中的允许USB调试,然后命令行运行adbdevices来测试下是否能显示设备,ok则准备工作完毕。
2、实现代码
#本手机安装了企业微信分身,可以打两个人的卡
#coding:utf-8
importos
importsys
importtime
importschedule
importrequests
defclick():
#打第一个卡
os.system('adbshellinputkeyevent82')#点亮屏幕
time.sleep(1)
os.system('adbshellinputkeyevent3')#单击home键,回到主页
time.sleep(1)
os.system('adbshellinputswipe500300300300')#左划屏幕
time.sleep(1)
os.system('adbshellinputswipe500300300300')#左划屏幕
time.sleep(2)
os.system('adbshellinputtap920800')#点击企业微信
time.sleep(5)
os.system('adbshellinputtap6781820')
time.sleep(5)
os.system('adbshellinputtap410330')
time.sleep(10)
os.system('adbshellinputtap5401340')
time.sleep(5)
#打第二个卡
os.system('adbshellinputkeyevent3')
time.sleep(1)
os.system('adbshellinputswipe500300300300')
time.sleep(1)
os.system('adbshellinputswipe500300300300')
time.sleep(2)
os.system('adbshellinputtap6601100')
time.sleep(5)
os.system('adbshellinputtap6781820')
time.sleep(5)
os.system('adbshellinputtap410330')
time.sleep(10)
os.system('adbshellinputtap5401340')
time.sleep(5)
#推送消息给微信,此处可以删除,仅为通知
url='http://wxmsg.dingliqc.com/send?msg=打卡成功&userIds=自己微信的uid'
requests.get(url)
sys.exit()
defmain():
'''
主函数
'''
schedule.every().day.at('18:03').do(click)
whileTrue:
schedule.run_pending()
time.sleep(3)
if__name__=='__main__':
main()
关于代码中涉及到的坐标点,可以通过手机页面截图,放到电脑里编辑图片来查看触摸点的坐标值,跟机型和分辨率有关,需要针对自己的手机调试,sleep的时间根据手机性能,网络环境可以做优化,然后运行代码就行了。想后台运行的话
start/bpythonstartwork.py
当然,最重要的一点,电脑要保持24H开机,程序员不担心这个,因为真正的程序员从不关机。
总结
以上所述是小编给大家介绍的使用Python实现企业微信的自动打卡功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!