您好,登錄后才能下訂單哦!
本篇文章為大家展示了利用Python怎么實現一個企業微信自動打卡功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
工具準備
不用說的Python
一部24小時可以放公司的安卓手機或電腦安裝模擬器
ADB工具
去下載ADB安裝包,安裝后在環境變量Path中添加目錄
2.1 UIautomator2的安裝
# 安裝 uiautomator2(PC端) pip3 install -U uiautomator2
3.1 手機
如果使用的是手機,需要手機開啟“開發者選項”模式,然后USB調試打開,將USB插入電腦
命令行輸入
adb devices
檢測手機是否連接成功
下面這樣就說明成功了
然后運行
python3 -m uiautomator2 init
將atx-agent安裝到手機
3.2模擬器
如果使用模擬器,在模擬器的設置中將ADB連接打開,同樣在命令行輸入adb devices
檢測是否連接成功,是用模擬器的話定位位置需要更改為公司要求打卡范圍內,后續步驟同上
為了抓取控件更方便安裝weditor
pip install --pre weditor
命令行輸入
python -m weditor
在彈開的瀏覽器中進行操作
輸入框中填入第三步得到的設備序列號,然后點擊Connect,正常的話會有個綠色的葉子,應用控件的信息就需要在這里拿到了
import uiautomator2 as u2 import time from apscheduler.schedulers.blocking import BlockingScheduler d = u2.connect_usb('b11b0fbe') def click_text(self,str,sq=0): #對于無法直接點擊的控件寫了個函數 path=d(text=str)[sq] x,y=path.center() d.click(x,y) def click(card_ty): d.app_start("com.alibaba.android.rimet") # 啟動應用 time.sleep(5) d(text="工作臺").click() time.sleep(3) d(text="考勤打卡").click() time.sleep(3) d(scrollable=True).fling.toEnd() click_text(d,card_ty,-1) time.sleep(3) d.screenshot("11.jpg") d.push("11.jpg", "/sdcard/0/11.jpg") d.app_stop("com.alibaba.android.rimet") send_info() def send_info(): #將打卡信息截圖利用小號發送給自己大號 d.app_start("com.tencent.mm") # 啟動應用 time.sleep(5) click_text(d,"通訊錄") click_text(d,"打卡") click_text(d,"發消息") time.sleep(2) d(description="更多功能按鈕,已折疊").click() time.sleep(2) d.swipe(1000, 1450, 100, 1450) time.sleep(2) click_text(d,"文件") time.sleep(2) click_text(d,"微信文件",-1) click_text(d,"手機存儲") click_text(d,"0") d(resourceId="com.tencent.mm:id/cvh").click() d(text="發送(1/9)").click() d(text="給朋友留言").click() d.send_keys("今日打卡記錄,請注意查收", clear=True) d(text="發送").click() time.sleep(5) d.app_stop("com.tencent.mm") def job1(): click("上班打卡") def job2(): click("下班打卡") if __name__ == "__main__": sched = BlockingScheduler() #設置定時任務,周一至周五 上午8.50自動打上班卡,下午6.10自動打下班卡 sched.add_job(job1, 'cron', day_of_week='mon-fri', hour='8',minute ='50') sched.add_job(job2, 'cron', day_of_week='mon-fri', hour='18',minute ='10') sched.start()
其中打卡部分以及微信發送打卡截圖部分的代碼,需要大家自己根據自己實際的情況做步驟調整。另外不習慣使用apscheduler庫的話用系統自帶的任務計劃程序也是可以的,部分步驟效果如下:
上述內容就是利用Python怎么實現一個企業微信自動打卡功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。