使用Python实现企业微信的自动打卡功能
作者:zqwcrystal 发布时间:2021-02-27 02:41:34
标签:python,企业,微信,打卡
上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定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
0
投稿
猜你喜欢
- asp之家注:学习asp,无论是做企业网站还是做个人网站一般都需要用到IP地址。如留言要记录留言者IP,用户登录也经常记录登录的IP,还有站
- ASP的强大不仅仅局限于接受和显示的交互,更多的是运用ActiveX 组件进行更强大的Web应用。那究竟ActiveX组件为何物?
- 本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作。分享给大家供大家参考,具体如下:直接上代码吧:# -*- codin
- 有如下 Pandas DataFrame:import pandas as pdinp = [{'c1':10, '
- 废话就不多说了,直接上内容。<form action="/home/search" method="ge
- 一种很常见的写法: document.write('<scr'+'ipt src=&quo
- 首先要作出决策,你是否想要使用最新的开发版本或最终的稳定版本。在MySQL开发过程中,同时存在多个发布系列,每个发布处在成熟度的不同阶段:&
- function getElementsByClassName(elem_name,elem_tags) { //elem_name:查询的
- 原文:http://blog.rexsong.com/?p=746#comments加速的关键,不是降低重量,而是减少个数。如果重量在200
- 一、中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,
- Office家族成员中,人们对于Access 2000的了解,往往只局限在它的操作界面中,对于数据库管理的功能仍只是停留在建立表、数据输入、
- 您可以使用 ObjectContext 对象提交或放弃一项由 Microsoft Transaction Server (MTS) 管理的事
- 在处理数据的时候,因为没有及时的去重,所以需要重新对生成txt进行去重。可是一个文件夹下有很多txt,总不可能一个一个去操作,这样效率太低了
- 1.查看mysql上都有哪些库mysql> show databases \G***************************
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- 一个网站能切换不同的CSS风格大家应该都了解,像众所周知的腾讯在今年改版时也增加了切换皮肤的功能。根据时间自动调整站点风格是不错的想法,这种
- CSS与JS紧密配合,为我们的页面增添了很多别致的效果。为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属
- 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
- 经常有网友会问,SQL Server占用了太多的内存,而且还会不断的增长;或者说已经设置了使用内存,可它没有用到那么多,这是怎么一回事儿呢?
- 本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法。分享给大家