溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能

發(fā)布時(shí)間:2021-04-07 10:35:55 來源:億速云 閱讀:223 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

上下班打卡是程序員最討厭的東西,更討厭的是設(shè)置了連上指定wifi打卡。

手機(jī)上有一些定時(shí)機(jī)器人之類的app,經(jīng)過實(shí)際測試,全軍覆沒,沒一個(gè)可以活著走到啟動(dòng)企業(yè)微信的這一步,所以還是靠自己吧。

下面就通過Python程序來實(shí)現(xiàn)自動(dòng)打卡,原理很簡單,用Python設(shè)置定時(shí)任務(wù),然后通過adb操作手機(jī),完成打卡。

1、準(zhǔn)備工作

a、安裝了Python,ADB驅(qū)動(dòng)(安裝方式及下載地址見之前文章)的電腦一臺(tái);常駐在公司的測試機(jī)一臺(tái);數(shù)據(jù)線一條。

b、將手機(jī)通過數(shù)據(jù)線連接電腦,打開開發(fā)者選項(xiàng)中的允許USB調(diào)試,然后命令行運(yùn)行adb devices來測試下是否能顯示設(shè)備,ok則準(zhǔn)備工作完畢。

2、實(shí)現(xiàn)代碼

#本手機(jī)安裝了企業(yè)微信分身,可以打兩個(gè)人的卡
# coding: utf-8
import os
import sys
import time
import schedule
import requests

def click():
 #打第一個(gè)卡
 os.system('adb shell input keyevent 82')#點(diǎn)亮屏幕
 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')#點(diǎn)擊企業(yè)微信
 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)
 #打第二個(gè)卡
 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():
 '''
 主函數(shù)
 '''
 schedule.every().day.at('18:03').do(click)
 while True:
  schedule.run_pending()
  time.sleep(3)
if __name__ == '__main__':
 main()

關(guān)于代碼中涉及到的坐標(biāo)點(diǎn),可以通過手機(jī)頁面截圖,放到電腦里編輯圖片來查看觸摸點(diǎn)的坐標(biāo)值,跟機(jī)型和分辨率有關(guān),需要針對自己的手機(jī)調(diào)試,sleep的時(shí)間根據(jù)手機(jī)性能,網(wǎng)絡(luò)環(huán)境可以做優(yōu)化,然后運(yùn)行代碼就行了。想后臺(tái)運(yùn)行的話

start /b python startwork.py

當(dāng)然,最重要的一點(diǎn),電腦要保持24H開機(jī),程序員不擔(dān)心這個(gè),因?yàn)檎嬲某绦騿T從不關(guān)機(jī)。

以上是“如何使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI