吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3457|回复: 40
上一主题 下一主题
收起左侧

[原创工具] 自动填写钉钉工作日志

[复制链接]
跳转到指定楼层
楼主
Starrys 发表于 2024-8-13 19:32 回帖奖励
本帖最后由 Starrys 于 2024-8-14 21:28 编辑

小工具-自动填写钉钉工作日志




日志内容为上一次填写的日志,提交方式为定时晚上8点提交,期间可以自由修改日志内容,主要功能是防止忘记填写日志

注:
需提前登录钉钉
钉钉版本为:7.6.0-Release.70310805
https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/Release/DingTalk_v7.5.30.5179102.exe
[Python] 纯文本查看 复制代码
import datetime
 
import uiautomation as uia
 
import win32gui
 
 
 
 
 
class DingTalk:
 
    VERSION: str = '7.6.0'
 
    lastmsgid: str = None
 
    listen: dict = dict()
 
    SessionItemList: list = []
 
    UiaAPI: uia.WindowControl = uia.WindowControl(ClassName='StandardFrame_DingTalk', Name='钉钉', searchDepth=1)
 
 
 
    def __init__(self, language='cn') -> None:
 
        self.language = language
 
        self._show()
 
 
 
        self.NavigationBox = self.UiaAPI.WindowControl(className='client_ding::NavigatorView', Name='DingTalk')
 
        self.A_Chat_Button = self.NavigationBox.ButtonControl(Name='消息')
 
        self.A_Workbench_Button = self.NavigationBox.ButtonControl(Name='工作台')
 
        self.A_Contacts_Button = self.NavigationBox.ButtonControl(Name='通讯录')
 
 
 
    def workbench_with(self, appname):
 
        # 打开工作台下的某个应用或组件
 
        self.A_Workbench_Button.Click()
 
        WebBrowserBox = self.UiaAPI.WindowControl(className='client_ding::WebBrowserView', AutomationId='browser_window')
 
        WebBrowserBox.CheckBoxControl(searchDepth=4, searchProperties={'FullDescription': '工作台', 'ClassName': "client_ding::WebTabButton"}).Click()
 
        WebBrowserBox.EditControl(Name='搜索应用和组件').SendKeys('{Ctrl}a' + appname + '{enter}')
 
        WebBrowserBox.TextControl(Name=appname).Click()
 
        return WebBrowserBox
 
 
 
    def writelog(self):
 
        window = self.workbench_with('日志')  # 打开日志
 
        window.TextControl(Name='').Click()
 
        window.TextControl(Name='导入上篇').Click()
 
        self.UiaAPI.ButtonControl(Name='确定').Click()
 
 
 
        window.TextControl(Name='发送到人').Click()
 
        window.WheelDown(wheelTimes=20, waitTime=0.1)
 
        if window.CheckBoxControl(Name='定时发送').GetTogglePattern().ToggleState == 0:
 
            window.CheckBoxControl(Name='定时发送').GetTogglePattern().Toggle()
 
        window.EditControl(searchDepth=12, Name='选择发送时间').Click()
 
        window.EditControl(searchDepth=10, Name='选择发送时间').SendKeys('{Ctrl}a' + datetime.datetime.now().strftime('%Y-%m-%d 20:00') + '{enter}')
 
        # window.ButtonControl(Name='提 交').Click()
 
        window.ButtonControl(Name='保 存').Click()
 
 
 
    def _show(self):
 
        self.HWND = win32gui.FindWindow('StandardFrame_DingTalk', None)
 
        win32gui.ShowWindow(self.HWND, 1)
 
        win32gui.SetWindowPos(self.HWND, -1, 0, 0, 0, 0, 3)
 
        win32gui.SetWindowPos(self.HWND, -2, 0, 0, 0, 0, 3)
 
        self.UiaAPI.SwitchToThisWindow()
 
 
 
 
 
ding = DingTalk()
 
ding.writelog()


成品:https://reaper0s.lanzoue.com/ibFBQ27clcoj

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
angelabebe + 1 + 1 热心回复!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 2#
 楼主| Starrys 发表于 2024-8-14 01:37 |楼主
xmqr 发表于 2024-8-13 22:06
大佬,请问怎么用呢,提示无效的窗口句柄

需要电脑登陆钉钉
推荐
cantonjae 发表于 2024-8-14 11:53
File "自动填写工作日志.py", line 51, in _show
  File "uiautomation\uiautomation.py", line 7678, in SwitchToThisWindow
  File "uiautomation\uiautomation.py", line 7003, in IsTopLevel
  File "uiautomation\uiautomation.py", line 6308, in NativeWindowHandle
  File "uiautomation\uiautomation.py", line 6434, in Element
  File "uiautomation\uiautomation.py", line 6684, in Refind
LookupError: Find Control Timeout(10s): {ClassName: 'StandardFrame_DingTalk', Name: '钉钉', ControlType: WindowControl}
我这打开winows11下出现上面报错提示。
推荐
bester 发表于 2024-8-13 23:23
UiaAPI: uia.WindowControl = uia.WindowControl(ClassName='StandardFrame_DingTalk', Name='钉钉', searchDepth=1) 这句代码是python新版本的新语法吗?还真没看明白
4#
xmqr 发表于 2024-8-13 22:06
大佬,请问怎么用呢,提示无效的窗口句柄
5#
sadffg 发表于 2024-8-13 23:02
无效窗口句柄
6#
be1ieveme 发表于 2024-8-13 23:02
这么好的小工具,我下载试试先
7#
lipu00 发表于 2024-8-13 23:48
学习了,好东西
8#
abmabmabm 发表于 2024-8-14 00:26
谢谢分享,学习一下
9#
ccz 发表于 2024-8-14 03:08
谢谢楼主分享
10#
apaye 发表于 2024-8-14 06:47
还能这样啊,也太厉害了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 01:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表