1. 程式人生 > >基於影象模板匹配的按鈕模擬點選 based on python

基於影象模板匹配的按鈕模擬點選 based on python

程式碼地址,也不要吝惜打一顆星~
https://github.com/TQCAI/auto_click_button_by_template_matching

目錄:

最近遇到一個問題,在mathtype中用輸入面板公式的時候,
沒有快捷鍵,就連Ctrl+Z的撤銷都沒有,簡直頭痛。於是我想到了用按鍵精靈來解決。
一個只有按鈕沒有快捷鍵的介面:


這裡寫圖片描述

模板匹配

參考文獻:Python+OpenCV學習(7)—模板匹配 - CSDN部落格
模板匹配是一種在圖片中找到目標圖片座標位置的影象處理技術,如圖:
這裡寫圖片描述
通過這種技術,我們首先對整個螢幕進行截圖:

img = np.array(ImageGrab.grab())

然後就在螢幕中查詢按鈕圖片的座標位置即可。

模擬滑鼠事件

參考文獻:如何使用python來模擬滑鼠點選(將通過例項自動化模擬在360瀏覽器中自動搜尋”python”) - huidaoli - 部落格園

本程式的執行步驟如下:

  • 通過模板匹配找到按鈕的座標
  • 獲取滑鼠的當前位置
  • 將滑鼠移動到目標按鈕區域,模擬點選操作
  • 讓滑鼠回到原來的區域

托盤式的操作介面

參考文獻:PyQt5 系統托盤圖示和訊息通知 - 即刻 - 部落格園

程式執行後將在系統托盤區顯示,避免干擾使用者,並且方便操作:
托盤介面:
這裡寫圖片描述
單擊托盤按鈕後顯示程式執行介面:
這裡寫圖片描述

多執行緒+HOOK監聽實現快捷鍵捕捉

參考文獻:GitHub - ethanhs/pyhooked: Pure Python hotkey hook, with thanks to pyHook and pyhk

本程式使用了GitHub上的一個開源pyhook庫,用於監聽鍵盤事件。
因為需要監聽,所以需要兩個執行緒,一個執行緒為主介面,一個執行緒為監聽程式。

實現效果

這裡寫圖片描述
這裡寫圖片描述