圖色識別,自動操作滑鼠/鍵盤(可後臺運行),將一切重複的事,抽象為函數,自動運行。
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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
happylife-1.7.1-py3-none-any.whl
(12.7 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb8ecefa2bdbcc0f3d8da1c62d2719ded9cd90a35864dc53337779397a682636
|
|
| MD5 |
e9072e16e06c1fe69b82e77ad6701445
|
|
| BLAKE2b-256 |
e0040decc6e21afc9a57b1ac4189992eb14cf07d9d72b429efada8cfa6e89cc5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
417fdf221da5cf5b9e71055ea4082ad6a4c975e1f99b0ac35f7d52b2b2c8d277
|
|
| MD5 |
e353928632a31b5140cd6d40d82f42e8
|
|
| BLAKE2b-256 |
c6dccbe4a739c7b825466845990caa8c900b73d50e3ded824be6788c597d473e
|