ใช้โมดูล pyautogui สำหรับควบคุม Mouse และ Keyboard อัตโนมัติ Cross-platform GUI Automation
ติดตั้ง
pip install pyautogui
ควบคุม Mouse
import pyautogui
# ขนาดหน้าจอ
width, height = pyautogui.size()
print(f"Screen: {width}x{height}")
# ตำแหน่งปัจจุบันของเมาส์
print(pyautogui.position())
# ย้ายเมาส์ไปตำแหน่งเฉพาะ (Absolute)
pyautogui.moveTo(100, 100, duration=1.0)
# ย้ายเมาส์แบบ Relative
pyautogui.moveRel(50, 0, duration=0.5) # ขวา 50px
pyautogui.moveRel(0, -30, duration=0.5) # ขึ้น 30px
# คลิก
pyautogui.click(200, 200) # คลิกที่พิกัด
pyautogui.click() # คลิกตำแหน่งปัจจุบัน
pyautogui.doubleClick() # Double Click
pyautogui.rightClick() # Right Click
pyautogui.middleClick() # Middle Click
# Drag
pyautogui.dragTo(300, 300, duration=1)
pyautogui.dragRel(100, 0, duration=1)
# Scroll
pyautogui.scroll(10) # Scroll ขึ้น
pyautogui.scroll(-10) # Scroll ลง
ควบคุม Keyboard
typewrite() - พิมพ์ข้อความ
pyautogui.typewrite('Hello, World!') # พิมพ์ทันที
pyautogui.typewrite('Hello, World!', interval=0.1) # หน่วง 0.1 วินาที/ตัวอักษร
press(), keyDown(), keyUp() - กดปุ่ม
pyautogui.press('enter') # กด Enter ครั้งเดียว
pyautogui.press(['left', 'left', 'left']) # กดซ้าย 3 ครั้ง
pyautogui.keyDown('ctrl') # กดค้าง Ctrl
pyautogui.keyDown('c') # กดค้าง C
pyautogui.keyUp('c') # ปล่อย C
pyautogui.keyUp('ctrl') # ปล่อย Ctrl
hotkey() - Keyboard Shortcuts
pyautogui.hotkey('ctrl', 'c') # Copy
pyautogui.hotkey('ctrl', 'v') # Paste
pyautogui.hotkey('ctrl', 'shift', 'esc') # Task Manager (Windows)
pyautogui.hotkey('alt', 'tab') # Switch Window
KEYBOARD_KEYS
รายการ Key ที่รองรับ: pyautogui.KEYBOARD_KEYS รวมถึง enter, esc, tab, shift, ctrl, alt, f1-f24, left, right, up, down, home, end, pageup, pagedown, insert, delete, backspace, space, caps lock, numlock, printscreen, scrolllock, pause, win, command, option และตัวอักษร/ตัวเลข/สัญลักษณ์ทั่วไป
ตัวอย่างรวม: เปิด Notepad และพิมพ์ข้อความ
import pyautogui
import time
# เปิด Run Dialog (Win+R)
pyautogui.hotkey('win', 'r')
time.sleep(0.5)
# พิมพ์ notepad และ Enter
pyautogui.typewrite('notepad')
pyautogui.press('enter')
time.sleep(1)
# พิมพ์ข้อความใน Notepad
pyautogui.typewrite('Hello from PyAutoGUI!', interval=0.05)
ความปลอดภัย
- ย้ายเมาส์ไปมุมซ้ายบน (0,0) จะ Trigger
pyautogui.FailSafeExceptionหยุดโปรแกรมทันที (Fail-safe Feature) - ตั้งค่า:
pyautogui.FAILSAFE = Falseเพื่อปิด (ไม่แนะนำ) - ตั้งค่า Pause ระหว่างคำสั่ง:
pyautogui.PAUSE = 0.1