使用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),需要針對(duì)自己的手機(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ī)。
總結(jié)
以上所述是小編給大家介紹的使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python實(shí)現(xiàn)釘釘/企業(yè)微信自動(dòng)打卡的示例代碼
- python制作定時(shí)發(fā)送信息腳本的實(shí)現(xiàn)思路
- python實(shí)現(xiàn)企業(yè)微信定時(shí)發(fā)送文本消息的示例代碼
- python向企業(yè)微信發(fā)送文字和圖片消息的示例
- Python開發(fā)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
- Python實(shí)現(xiàn)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
- 通過shell+python實(shí)現(xiàn)企業(yè)微信預(yù)警
- 教你利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息
相關(guān)文章
Python使用requests發(fā)送POST請(qǐng)求實(shí)例代碼
這篇文章主要介紹了Python使用requests發(fā)送POST請(qǐng)求實(shí)例代碼,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
python基于TCP實(shí)現(xiàn)的文件下載器功能案例
這篇文章主要介紹了python基于TCP實(shí)現(xiàn)的文件下載器功能,結(jié)合具體實(shí)例形式分析了Python使用socket模塊實(shí)現(xiàn)的tcp協(xié)議下載功能客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下2019-12-12
解決安裝Python的第三方庫pandas報(bào)錯(cuò)問題
這篇文章主要介紹了解決安裝Python的第三方庫pandas報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
Python函數(shù)參數(shù)基礎(chǔ)介紹及示例
在聲明函數(shù)的時(shí)候,一般會(huì)根據(jù)函數(shù)所要實(shí)現(xiàn)的功能來決定函數(shù)是否需要參數(shù)。在多數(shù)情況下,我們聲明的函數(shù)都會(huì)使用到參數(shù),這篇文章主要介紹了Python函數(shù)參數(shù)2022-08-08
python中字符串比較使用is、==和cmp()總結(jié)
在Python中比較字符串最好是使用簡單邏輯操作符,今天為大家講解一下is、==和cmp()使用總結(jié)2018-03-03
如何使用Python程序完成描述性統(tǒng)計(jì)分析需求
這篇文章主要介紹了如何使用Python程序完成描述性統(tǒng)計(jì)分析需求,運(yùn)用制表和分類,圖形以及計(jì)算概括性數(shù)據(jù)來描述數(shù)據(jù)特征的各項(xiàng)活動(dòng),需要的朋友可以參考下2023-03-03

