日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

钉钉自动打卡并微信通知打卡成功

發布時間:2023/12/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 钉钉自动打卡并微信通知打卡成功 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于自動打卡

因為公司經常性的加班,然后第二天上班會遲到,想著使用一臺手機放在公司,然后每天自動打上班卡,并且使用微信進行通知我是否打卡成功。

邏輯設計

1、運行腳本
2、對比當前時間與設置的打卡時間
3、符合條件開始打卡并發送微信信息

自動打卡腳本

關于自動打卡的腳本我在之前的博客有寫到,此處不多討論。

微信通知

使用的庫:

使用的是wxpywxpy官方介紹如下:

控制路由器、智能家居等具有開放接口的玩意兒
運行腳本時自動把日志發送到你的微信
加群主為好友,自動拉進群中
跨號或跨群轉發消息
自動陪人聊天
逗人玩

總而言之,可用來實現各種微信個人號的自動化操作

通過獲取微信機器人對象來進行相關操作

b = Bot(console_qr=0,cache_path="..\wxpy.pkl")

b 就是機器人對象,實質上等同于一個微信客戶端。
cache是是否保存登錄信息,如果腳本多次調試的話,就不需要每次都掃碼登錄微信。
通過搜索好友昵稱獲得好友列表(list)

my_friends = b.friends().search('小王')

對好友列表中的好友發送信息:

my_friends[0].send('hello world')
自動打卡

因為釘釘上班卡一般是快捷打卡,每天早上只需要啟動釘釘就會自動自動打卡,邏輯實現很簡單,只需要啟動APP就行。

上班卡不需要操作控件,因此只用adb命令進行APP啟動也是可以的。但是若是還需要打下班卡就需要定位元素進行打卡,因此adb不行,在此采用的是uiautomator2庫,之前的博文有提到過,這里不過分說明。

源碼:

# -*- coding: utf-8 -*- # @Time : 19-3-4 下午4:22 # @Author : Merlin # @Email : shiehmerlin@gmail.com # @File : w_bot.py # @Software: PyCharmimport time from wxpy import * import threading import uiautomatro2 as u2# 啟動微信機器人 b = Bot(console_qr=0,cache_path="..\wxpy.pkl") my_friend = b.friends().search('小王')[0] #這里搜索到的是一個list所以需要取第一個serialno = 'temp_serialno' # Android設備的adb devices號 apk = 'com.alibaba.android.rimet' #釘釘包名def shangban():try:d = u2.connect_usb(serialno) #連接設備time.sleep(5)d.app_stop(apk) #先停止APP,不然的話再啟動APP不會觸發釘釘自動快捷上班卡。d.app_start(apk)time.sleep(10)my_friend.send('打卡成功!')d.app_stop(apk)except Exception as e:raise e def xiaban():'''下班卡需要元素定位,釘釘是混合應用,最好針對不同設備分辨率采用不同的坐標定位d(resourceId="com.alibaba.android.rimet:id/home_bottom_tab_icon", className="android.widget.ImageView", instance=1).click()這是元素定位到的情況d.drag(0.5,0.7,0.5,0.1,0.5)這是依據坐標滑動d.click(0.135, 0.65)這是依據坐標進行點擊具體可見我之前博文提到的方法'''pass# 拿到當前時間并格式化 def get_time():nowtime = (time.strftime('%H%M', time.localtime(time.time())))return str(nowtime)if __name__ == "__main__": # 當前時間與預設置時間進行對比,若相同則開始打卡# 如果想一直保持腳本的運行,可以把兩個break刪除,然后就會全天循環檢測while 1:if get_time() == '0850': #這就是預設置的時間08:45,依據實際更改shangban()breakif get_time() == '1830': #這就是預設置的時間18:30,依據實際更改xiaban()breaktime.sleep(40)

總結

以上是生活随笔為你收集整理的钉钉自动打卡并微信通知打卡成功的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。