Skip to main content

圖色識別,自動操作滑鼠/鍵盤(可後臺運行),將一切重複的事,抽象為函數,自動運行。

Project description

HappyLife

HappyLife 將重複的事情抽象為函數,自動運行。
不做無聊的事,體驗有趣的事,讓人生更輕鬆。

安裝方法:

pip install HappyLife

依賴關係

安裝HappyLife會自動安裝依賴套件

使用教學

後臺操作(綁定窗口後,可以後臺運行,但窗口不能最小化,使用者可做別的事情)

  from auto import Bd  # 引入類別
  # 綁定夜神模擬器方法  
  bd = Bd("夜神模擬器")
  # 綁定雷電模擬器方法(需額外綁定子窗口)  
  bd = Bd('雷電模擬器');  
  bd.bind_child_window(0)
  Bd.keypress(bd,65,2) # 按下A鍵2秒後鬆開
  bd.img_click(bd,'0.png')  # 點擊圖片  
  bd.img_drag(bd,'1.png','2.png')  # 拖拽圖片,滑鼠從圖片1座標拖拽到圖片2座標的位置  
  bd.lclick(bd,55,64)   # 左鍵單擊  
  bd.lclick2(bd,55,64)  # 左鍵雙擊  
  bd.rclick(bd,55,64)   # 右鍵單擊  
  bd.topwd() # 窗口置頂
  bd.closewd() # 窗口關閉
  bd.miniwd() # 窗口最小化
  bd.maxwd() # 窗口最大化
  bd.hidewd() # 窗口隱藏
  bd.showwd() # 窗口顯示(隱藏後顯示)
  bd.wd_transparency() # 窗口透明度
  bd.getpoint() # 獲取相對座標

前臺操作(必須在當前窗口,才能運行,使用者無法做別的事情,通常後臺操作無效時才會使用此方法)

  from auto import Fd   # 引入類別
  Fd.img_click('1.png')   # 點擊圖片  
  Fd.img_drag('1.png','2.png')   # 拖拽圖片,滑鼠從圖片1座標拖拽到圖片2座標的位置  
  Fd.lclick(55,64)  # 左鍵單擊  
  Fd.lclick2(55,64) # 左鍵雙擊  
  Fd.rclick(55,64)  # 右鍵單擊  
  Fd.keypress(65)   # keypress(按鍵代碼,按下X秒後自動鬆開)  
  Fd.key_down(65)   # 按鍵按下,key_down(按鍵代碼)  
  Fd.key_up(65)     # 按鍵鬆開,key_up(按鍵代碼)  
  # 打開檔案/資料夾/網址  
  Fd.open_file("D:\\code\\123.py")  
  Fd.open_file("C:\\Program Files (x86)\\Windows Defender")  
  Fd.open_file("http://www.j4.com.tw/big-gb/")  
  • 如果使用前臺操作,無法自動操作滑鼠鍵盤,請用系統管理員身份啓動腳本

依序執行任務的方法

  # 要執行的任務列表
  tasks = [
      (bd.img_click, bd,"81.png"), #(函數, 參數:可以填寫多個參數)
      (bd.img_click, bd,"82.png"),
      (bd.img_click, bd,"83.png"),
      (bd.img_click, bd,"84.png")
  ]
  # 按照順序執行任務,完成全部任務跳出迴圈
  execute_tasks_in_sequence(tasks)

圖色識別

  import auto # 引入
  auto.img_center_point() # 獲取圖片中心點坐標,img_center_point('1.jpg', confidence=0.9, grayscale=True)
  auto.img_center_point2() # 後臺獲取圖片中心點坐標,img_center_point2(bd,'1.jpg', confidence=0.9, grayscale=True)
  auto.mouse_getRGB() # 獲取滑鼠坐標和RGB顏色
  auto.mouse_getHEX() # 獲取滑鼠坐標和HEX顏色
  auto.matches_color() # 坐標找色,matches_color(100, 200, (25, 118, 199), tolerance=20)

變更日誌

[1.6.1] - 2025-11-16

移除

  • 移除模板匹配match_template

修正

  • get_all_hwnd新增返回窗口句柄
  • 修正README.md說明

[1.6.0] - 2025-11-12

添加

  • img_click新增執行前等待、execute_tasks_in_sequence新增重試次數、上調所有套件依賴版本

[1.5.4] - 2024-10-19

修復

  • 修復前臺滑鼠操作ctypes.windll.user32.SetCursorPos語法錯誤

[1.5.3] - 2024-10-19

添加

  • 前臺操作keypress、key_down、key_up支援硬件級鍵盤模擬
  • 前臺操作img_click、img_drag、lclick、mouse_drag、lclick2、mouse_down、moveto支援硬件級滑鼠模擬

[1.5.2] - 2024-06-14

修復

  • 修復execute_tasks_in_sequence,將每個任務元組拆解為 task_function 和其餘的參數,然後傳遞給 perform_task 函數。這樣就不會出現 tuple 不能被調用的錯誤

[1.5.1] - 2024-06-14

修復

  • 修復後臺操作mouse_drag

[1.5.0] - 2024-06-14

添加

  • 添加後臺操作mouse_drag支援依序執行任務的功能

[1.4.0] - 2024-06-14

添加

  • 添加前臺操作mouse_drag支援依序執行任務的功能

[1.3.18] - 2024-06-09

修正

  • 修復前臺操作mouse_drag沒有生效的問題

[1.3.17] - 2024-06-09

修正

  • 修復前臺操作mouse_drag,誤增self參數的問題

[1.3.16] - 2024-06-09

修正

  • 優化mouse_drag

[1.3.15] - 2024-06-09

修正

  • 加快mouse_drag的拖動速度

[1.3.14] - 2024-06-09

修正

  • 改進mouse_drag

[1.3.13] - 2024-06-09

修正

  • 測試mouse_drag

[1.3.12] - 2024-06-09

修正

  • 測試mouse_drag,改回pywin32寫法

[1.3.11] - 2024-06-09

修正

  • 用ctypes取代pywin32,改寫mouse_drag

[1.3.10] - 2024-06-09

修正

  • 測試mouse_drag

[1.3.9] - 2024-06-09

修正

  • 測試mouse_drag

[1.3.8] - 2024-06-09

修正

  • mouse_drag增加時間等待

[1.3.7] - 2024-06-09

修正

  • 修復mouse_drag函數不生效的問題

[1.3.6] - 2024-06-09

修正

  • 修復mouse_drag函數,滑鼠點擊和移動之間沒有時間等待的問題

[1.3.5] - 2024-06-09

修正

  • 修復誤動前臺操作mouse_drag函數

[1.3.4] - 2024-06-09

修正

  • 修復mouse_drag函數,鼠標移動到x2,y2,再鬆開鼠標

[1.3.3] - 2024-06-09

修正

  • 移除mouse_down和mouse_up支援依序執行任務的功能

[1.3.2] - 2024-06-09

添加後臺操作

  • mouse_down函數
  • mouse_up函數

修正

  • 刪除mouse_drag函數支援依序執行任務的功能(執行多個函數會出錯)

[1.3.1] - 2024-06-09

修正

  • 修復mouse_drag函數,依序執行任務時,執行多個img_drag函數出錯的問題

[1.3.0] - 2024-06-09

添加

  • mouse_drag函數,支援依序執行任務

[1.2.2] - 2024-06-05

修正

  • 修復img_click函數,img_center_point2的Offset_x和Offset_y參數造成出錯的問題

[1.2.1] - 2024-06-05

修正

  • 修復img_click函數,滑鼠點擊參數錯誤的問題

[1.2.0] - 2024-06-05

添加

  • img_click函數新增x/y座標偏移量

[1.1.3] - 2024-06-03

修正

  • 修復前臺操作沒有自適應螢幕縮放比例的問題

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

happylife-1.6.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

happylife-1.6.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file happylife-1.6.1.tar.gz.

File metadata

  • Download URL: happylife-1.6.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for happylife-1.6.1.tar.gz
Algorithm Hash digest
SHA256 1aee2f5c482662976899866b29b0fc03a004bc320e9e26c42dc7698d085ca9db
MD5 121f7c130e9a259d2e12e6ab6a94b228
BLAKE2b-256 ab745a0713a49331ab09b86274299dae1dff168637479b9ccb7fc0bc121f036d

See more details on using hashes here.

File details

Details for the file happylife-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: happylife-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for happylife-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e910749d007bbb01c2b1591443a4c4a2b3b688abd941d3b183261d7bd775f577
MD5 6e9e3adae120c087dbb5a2ce7fd37cd6
BLAKE2b-256 6a2dc7064f098128e3ee3f4a998e696e817f9ff582f46e93fc6f83dcf9f9fd43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page