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('A',2) # 按下A鍵2秒後鬆開
  bd.img_click('0.png')  # 點擊圖片  
  bd.img_drag('1.png','2.png')  # 拖拽圖片,滑鼠從圖片1座標拖拽到圖片2座標的位置  
  bd.lclick(55,64)   # 左鍵單擊  
  bd.lclick2(55,64)  # 左鍵雙擊  
  bd.rclick(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("A")   # keypress(按鍵,按下X秒後自動鬆開)  
  Fd.key_down("A")   # 按鍵按下,key_down(按鍵)  
  Fd.key_up("A")     # 按鍵鬆開,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, "81.png"), #(函數, 參數:可以填寫多個參數)
      (bd.img_click, "82.png"),
      (bd.img_click, "83.png"),
      (bd.img_click, "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.7.1] - 2025-11-17

更新

  • img_click 直接用局部變數

[1.7.0] - 2025-11-17

更新

  • img_click 和 img_drag由支援多窗口改為單一窗口
  • 後臺按鍵支援安卓模擬器以外的窗口
  • keypress/key_down/key_up 現在支援字元輸入,自動使用 ord() 轉換為虛擬鍵碼

[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.7.1.tar.gz (15.0 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.7.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for happylife-1.7.1.tar.gz
Algorithm Hash digest
SHA256 fb8ecefa2bdbcc0f3d8da1c62d2719ded9cd90a35864dc53337779397a682636
MD5 e9072e16e06c1fe69b82e77ad6701445
BLAKE2b-256 e0040decc6e21afc9a57b1ac4189992eb14cf07d9d72b429efada8cfa6e89cc5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: happylife-1.7.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.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 417fdf221da5cf5b9e71055ea4082ad6a4c975e1f99b0ac35f7d52b2b2c8d277
MD5 e353928632a31b5140cd6d40d82f42e8
BLAKE2b-256 c6dccbe4a739c7b825466845990caa8c900b73d50e3ded824be6788c597d473e

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