1. 程式人生 > >Python實現自動從中控考勤機軟體中下載記錄資料

Python實現自動從中控考勤機軟體中下載記錄資料

# pip install pywin32

import win32gui
import win32api
import win32con
import time

# FindWindow(窗體類名,視窗標題)
# 通過窗體類名和視窗名(視窗標題)查詢主視窗的控制代碼

# FindWindowEx()
# 描述:搜尋類名和窗體名匹配的窗體,並返回這個窗體的控制代碼。不區分大小寫,找不到就返回0。
# 引數:
# hwndParent:若不為0,則搜尋控制代碼為hwndParent窗體的子窗體。
# hwndChildAfter:若不為0,則按照z-index的順序從hwndChildAfter向後開始搜尋子窗體,否則從第一個子窗體開始搜尋。
# lpClassName:字元型,是窗體的類名,這個可以在Spy++裡找到。
# lpWindowName:字元型,是視窗名,也就是標題欄上你能看見的那個標題。
# 說明:找到了主視窗以後就靠它來定位子窗體啦。

# 如果全選列表中的裝置,點選下載時,是會自動下載所有裝置的資料的
# 1、滑鼠右鍵點擊出現列表_座標:364,194 顏色:16777215
# 2、滑鼠左鍵點選選擇全部裝置_座標:413,208 顏色:16777215
# 3、滑鼠左鍵點選連線裝置按鈕_座標:361,89 顏色:9221466
# 4、滑鼠左鍵點選從裝置下載記錄資料座標:124,299 顏色:14199984


# 查詢主視窗的控制代碼,未查詢到返回0
hwndParent = win32gui.FindWindow('TFormAttMain',None)

# 我的裝置列表
childParent = win32gui.FindWindowEx(hwndParent,0,'TListView',None)

print(hwndParent)

# 獲取主視窗焦點
win32gui.SetForegroundWindow(hwndParent)

# 初始化主視窗大小
win32gui.MoveWindow(hwndParent,20,20,1300,405,True)

# 步驟1區域-------------------------------------------------------------

# 設定滑鼠焦點位置,為滑鼠右擊做準備
win32api.SetCursorPos([364,194])

#延遲0.1秒
time.sleep(0.1)

# 滑鼠右鍵點擊出現列表
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP,0,0,0,0)

# 步驟1區域結束-------------------------------------------------------------

time.sleep(1)

# 步驟2區域-------------------------------------------------------------

# 設定滑鼠焦點位置,為左鍵點選選擇全部裝置做準備
win32api.SetCursorPos([413,208])

# 延遲0.1秒
time.sleep(0.1)

# 滑鼠左鍵點選選擇全部裝置
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)

# 步驟2區域結束-------------------------------------------------------------

time.sleep(1)

# 步驟3區域-------------------------------------------------------------

# 設定滑鼠焦點位置,為左鍵點選連線裝置按鈕做準備
win32api.SetCursorPos([361,89])

# 延遲0.1秒
time.sleep(0.1)

# 滑鼠左鍵點選連線裝置按鈕
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)

# 步驟3區域結束-------------------------------------------------------------
# 裝置連線中,需等待較長時間
time.sleep(6*60)

# 步驟4區域-------------------------------------------------------------

# 設定滑鼠焦點位置,為左鍵點選從裝置下載記錄資料做準備
win32api.SetCursorPos([124,299])

# 延遲2秒
time.sleep(2)

# 滑鼠左鍵點選從裝置下載記錄資料
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)

# 步驟4區域結束-------------------------------------------------------------

相關推薦

Python實現自動從中考勤機軟體下載記錄資料

# pip install pywin32 import win32gui import win32api import win32con import time # FindWindow(窗體類名,視窗標題) # 通過窗體類名和視窗名(視窗標題)查詢主視窗的控制代碼

python 實現分頁顯示從es獲取的資料

注意:使用該方法,獲取的資料總數目不能超過1萬,否則出錯 #在python3上執行 from elasticsearch import Elasticsearch from urllib3.connectionpool import xrange def get_pag

qq機器人 python實現 自動回復

自動 。。 qq機器人 希望 eal 自己的 pytho ref python實現 我以前寫的代碼我現在貼在了下面,下面的連接是我自己的博客,有問題希望大家提出來,一起進步。。。我以前試過,沒啥問題。可以實現聊天。 https://realwuxiong.github.io

python實現自動定時給女朋友發手機簡訊,每天一個笑話!

  Python 的概念 加群:865597862即可自動獲取大量Python視訊教程以及各類PDF! 大四的生活就是這麼無聊,我琢磨著也學了這麼多東西了,為啥不能用自己的知識來給生活找點樂子呢?我想反正每天都要給Ta問候一聲早安,為何不同時講個笑話呢?如果能寫個程

教你用 Python 實現抖音熱門表白軟體

之前在群裡看到有人發了一個抖音上很火的小視訊,就是一個不正經的軟體,執行後問你是不是願意做我的朋友,但你沒法點選到「不同意」!並且沒辦法直接關閉視窗! 很不正經,很流氓,有點適合我。 效果大概是這樣的: 我要做一個高仿版的! 實現思路 首先我想到的就是 p

Python實現自動登入,強行突破圖形驗證碼!

  驗證碼有圖形驗證碼、極驗滑動驗證碼、點觸驗證碼、宮格驗證碼。這回重點講講圖形驗證碼的識別。 學習Python中有不明白推薦加入交流群                 號:516107834 &

python實現查詢使用者輸入的數字的最大值

‘’‘使用者輸入三個數字,然後找出最大值或者最小值’’’ num_1 = input(‘please inout your first number’) num_2 = input(‘please inout your second number’) num_3 = input(‘pleas

我用 Python 實現自動刷抖音小姐姐!

前言 都說抖音有毒,一刷就停不下來了,看來抖音這款產品緊緊抓住了人們內心深處的某些需求。當然今天不是來探討抖音這款產品的啊。今天我們來學習如何用Python實現自動刷抖音,併為顏值高的的小哥哥小姐姐點贊並評論。 專案環境 語言:Python3 編輯器:Pycharm 其他工具:手

Python實現自動特徵工程

任何參與過機器學習比賽的人,都能深深體會特徵工程在構建機器學習模型中的重要性,它決定了你在比賽排行榜中的位置。 特徵工程具有強大的潛力,但是手動操作是個緩慢且艱鉅的過程。Prateek Joshi,是一名資料科學家,花了不少時間研究多種特徵,並從不同角度分析其可行性。 現

python實現:找出單鏈表的倒數第K個元素

1、為了找出倒數第k個元素,最容易想到的辦法是首先遍歷一遍單鏈表,求出整個單鏈表的長度n,然後將倒數第k個,轉換為正數第n-k個,接下來遍歷一次就可以得到結果。但是該方法存在一個問題,即需要對連結串列進行兩次遍歷,第一次遍歷用於求解單鏈表的長度,第二次遍歷用於查詢正數第n-k

利用python實現自動捕獲程序netstat資訊和自動捕獲telnet資訊,儲存log檔案

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ AUTH: [email protected] tag: telnet ,then execute all of the API,and capture the p

厲害了,用Python實現自動掃雷!(附帶原始碼)

  自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。 學習Python中有不明白推薦加入交流群              

Python實現自動關機

首先,我們瞭解下DOS下關機的命令詳情: shutdown /s /f /t 300/c '還有300s關機'/ shutdown [-i | -l | -s | -r | -a] [-f] [-m \computername] [-t xx] [-c " mment"] [-

python實現自動搜尋答題,上網課輕鬆不掛科!

自從同學用Python開發出了自動搜尋答案後,每次網課(選修)他都在玩遊戲,而我們作死的在百度搜答案!   學習Python中有不明白推薦加入交流裙                 號:73593

利用Python實現自動換桌面桌布

受夠了360桌布等桌布軟體,想到可以使用Python從本地資料夾中直接調取圖片,自動定時更換桌面桌布,於是試了一試,效果賊棒! import random import ctypes import time import os path = "D:\\Image\\"; //儲存圖片的資料夾

【leetcode】Python實現-83.刪除排序連結串列的重複元素

83.刪除排序連結串列中的重複元素 描述 給定一個排序連結串列,刪除所有重複的元素,使得每個元素只出現一次。 示例1 輸入: 1->1->2 輸出: 1->2 示例2 輸入: 1->1->2-

Python實現自動購票功能

from splinter.browser import Browser  # 安裝命令 pip install splinterfrom time import sleepimport traceback   # 使用traceback獲取詳細的異常資訊class Buy_

【Leetcode】Python實現兩個排序陣列的位數

當兩個數組合並後的總元素長度是奇數時,中位數的下標是n/2。 當兩個數組合並後的總元素個數是偶數時,中位數是下標n/2-1和下標n/2兩個元素的平均值。 所以不論總長度的奇偶性,可以將n/2作為右中

利用Python實現自動掃雷小指令碼

自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。  一、準備工作 1.掃雷遊戲 我是win10,沒有預設的掃雷,所以去掃雷網下載 http://www.saolei.net/BBS/

利用Python實現自動掃雷指令碼,最高難度也難不倒我了

  自動掃雷一般分為兩種,一種是讀取記憶體資料,而另一種是通過分析圖片獲得資料,並通過模擬滑鼠操作,這裡我用的是第二種方式。 一、準備工作 1.掃雷遊戲 我是win10,沒有預設的掃雷,所以去掃雷網下載 http://www.saolei.net/BBS/