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.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.0.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.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: happylife-1.7.0.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.0.tar.gz
Algorithm Hash digest
SHA256 9982be691bb92f011883cb883491a77629d4a7760dbdadefe1c4610f2cd2a089
MD5 9d966e3ab2931b4c8088c78e49730b29
BLAKE2b-256 7d0d64707372fa6f043bffcf774676a9f24f27ff95a8ed4079965ff630015832

See more details on using hashes here.

File details

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

File metadata

  • Download URL: happylife-1.7.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 541e457e108259c0d97331db1534a0aebdb73951cd636611e732a170ff03acff
MD5 c534d51b5bad3a643a0439f5ed20e055
BLAKE2b-256 e36f1b48b0f559834624c323f4d1bccaf75cfdecbdca45422c4792b5781d1540

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