佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Python實(shí)現(xiàn)釘釘/企業(yè)微信自動(dòng)打卡的示例代碼

Python實(shí)現(xiàn)釘釘/企業(yè)微信自動(dòng)打卡的示例代碼

熱門標(biāo)簽:硅谷的囚徒呼叫中心 客戶服務(wù) 呼叫中心市場需求 Win7旗艦版 企業(yè)做大做強(qiáng) 電話運(yùn)營中心 百度AI接口 語音系統(tǒng)

每天急匆匆趕地鐵上班的時(shí)候總會(huì)一不小心就會(huì)忘記打卡,尤其是軟件打卡,那有沒有什么辦法可以解決忘打卡的問題呢?今天給大家推薦一下一款神器,利用Python實(shí)現(xiàn)定時(shí)自動(dòng)打卡。

1 前期工具準(zhǔn)備

  • 不用說的Python
  • 一部24小時(shí)可以放公司的安卓手機(jī)或電腦安裝模擬器
  • ADB工具

2 ADB的安裝配置

去下載ADB安裝包,安裝后在環(huán)境變量Path中添加目錄

2.1 UIautomator2的安裝

# 安裝 uiautomator2(PC端)
pip3 install -U uiautomator2

3 手機(jī)連接電腦

3.1 手機(jī)

如果使用的是手機(jī),需要手機(jī)開啟“開發(fā)者選項(xiàng)”模式,然后USB調(diào)試打開,將USB插入電腦

命令行輸入

adb devices

檢測手機(jī)是否連接成功

下面這樣就說明成功了

然后運(yùn)行

python3 -m uiautomator2 init

將atx-agent安裝到手機(jī)

3.2模擬器

如果使用模擬器,在模擬器的設(shè)置中將ADB連接打開,同樣在命令行輸入adb devices檢測是否連接成功,是用模擬器的話定位位置需要更改為公司要求打卡范圍內(nèi),后續(xù)步驟同上

4 webitor安裝使用

為了抓取控件更方便安裝weditor

pip install --pre weditor

命令行輸入

python -m weditor

在彈開的瀏覽器中進(jìn)行操作

輸入框中填入第三步得到的設(shè)備序列號,然后點(diǎn)擊Connect,正常的話會(huì)有個(gè)綠色的葉子,應(yīng)用控件的信息就需要在這里拿到了

5 代碼開發(fā)

import uiautomator2 as u2
import time
from apscheduler.schedulers.blocking import BlockingScheduler
 
d = u2.connect_usb('b11b0fbe')
def click_text(self,str,sq=0): #對于無法直接點(diǎn)擊的控件寫了個(gè)函數(shù)
   path=d(text=str)[sq]
   x,y=path.center()
   d.click(x,y)
def click(card_ty):
   d.app_start("com.alibaba.android.rimet") # 啟動(dòng)應(yīng)用
   time.sleep(5)
   d(text="工作臺(tái)").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(): #將打卡信息截圖利用小號發(fā)送給自己大號
   d.app_start("com.tencent.mm") # 啟動(dòng)應(yīng)用
   time.sleep(5)
   click_text(d,"通訊錄")
   click_text(d,"打卡")
   click_text(d,"發(fā)消息")
   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,"手機(jī)存儲(chǔ)")
   click_text(d,"0")
   d(resourceId="com.tencent.mm:id/cvh").click()
   d(text="發(fā)送(1/9)").click()
   d(text="給朋友留言").click()
   d.send_keys("今日打卡記錄,請注意查收", clear=True)
   d(text="發(fā)送").click()
   time.sleep(5)
   d.app_stop("com.tencent.mm")
 
def job1():
   click("上班打卡")
def job2():
   click("下班打卡")    
if __name__ == "__main__":
   sched = BlockingScheduler() #設(shè)置定時(shí)任務(wù),周一至周五 上午8.50自動(dòng)打上班卡,下午6.10自動(dòng)打下班卡
   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()

其中打卡部分以及微信發(fā)送打卡截圖部分的代碼,需要大家自己根據(jù)自己實(shí)際的情況做步驟調(diào)整。另外不習(xí)慣使用apscheduler庫的話用系統(tǒng)自帶的任務(wù)計(jì)劃程序也是可以的,部分步驟效果如下: 

企業(yè)微信打卡同理,大家可以自行研究,希望大家只是用于學(xué)習(xí),不要挑戰(zhàn)公司規(guī)章制度。

到此這篇關(guān)于Python實(shí)現(xiàn)釘釘/企業(yè)微信自動(dòng)打卡的示例代碼的文章就介紹到這了,更多相關(guān)Python 釘釘/企業(yè)微信自動(dòng)打卡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實(shí)現(xiàn)企業(yè)微信定時(shí)發(fā)送文本消息的實(shí)例代碼
  • 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í)例
  • 使用Python實(shí)現(xiàn)企業(yè)微信的自動(dòng)打卡功能
  • 通過shell+python實(shí)現(xiàn)企業(yè)微信預(yù)警
  • 教你利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息

標(biāo)簽:長沙 山西 山西 崇左 喀什 安康 海南 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實(shí)現(xiàn)釘釘/企業(yè)微信自動(dòng)打卡的示例代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    新泰市| 滨海县| 道孚县| 陕西省| 静乐县| 朝阳市| 阜城县| 财经| 道孚县| 南平市| 文水县| 青阳县| 武威市| 潼关县| 安徽省| 舞钢市| 萨迦县| 依兰县| 仁寿县| 昭觉县| 景谷| 兴隆县| 黔西| 丽江市| 正安县| 张家界市| 福贡县| 武义县| 宁城县| 新兴县| 桂平市| 故城县| 左贡县| 乌拉特中旗| 静乐县| 中西区| 武冈市| 金阳县| 凌云县| 镇平县| 阳东县|