سلام رفیق! تو این مقاله میخوایم با هم PyAutoGUI رو بررسی کنیم؛ یه کتابخونه خیلی باحال پایتون برای کنترل صفحه، ماوس و کیبورد. با یادگیری این ابزار، میتونی کلی کارهای تکراری رو خودکار کنی، ربات بسازی یا حتی تست نرمافزار انجام بدی. آمادهای همه چی رو کامل یاد بگیری؟ 😊
PyAutoGUI یه کتابخونه کراسپلتفرمه واسه پایتون که بهت اجازه میده با کد، ماوس و کیبورد رو کنترل کنی. یعنی میتونی حرکات ماوس رو شبیهسازی کنی، کلیک کنی، تایپ کنی، اسکرینشات بگیری و حتی صفحه رو بگردی ببینی کدوم بخشها چیه. خیلی خوبه واسه اتومات کردن کارهای تکراری، ساخت ربات یا تست برنامهها.
برای شروع، اول باید PyAutoGUI و کتابخونههای مورد نیازش رو نصب کنی. توی ترمینال یا CMD این دستور رو بزن:
pip install pyautogui
برای اینکه همهچیز بهتر کار کنه، مخصوصاً روی ویندوز و مک، این بستهها رو هم نصب کن:
pip install pillow pyobjc-core pyobjc
اگه لینوکس داری، ممکنه لازم باشه ابزارهای X11 رو نصب کنی، ولی اون کار سختی نیست.
اگه بخوای ماوس رو ببری یه نقطه مشخص، اینطوری میشه:
import pyautogui
pyautogui.moveTo(500, 300, duration=1)
این کد ماوس رو آروم میبره به مختصات (۵۰۰، ۳۰۰) تو یک ثانیه. اگه بخوای نسبت به موقعیت فعلی حرکت بدی:
pyautogui.moveRel(100, -50, duration=0.5)
برای کلیک چپ روی یه موقعیت خاص:
pyautogui.click(600, 400)
کلیک راست و وسط هم داریم:
pyautogui.rightClick()
pyautogui.middleClick()
دابل کلیک یا چند کلیک پشت سر هم هم آسونه:
pyautogui.doubleClick()
pyautogui.click(clicks=3, interval=0.25)
میتونی متن دلخواه رو با فاصله بین حروف تایپ کنی:
pyautogui.write("Hello, PyAutoGUI!", interval=0.1)
کلیدهای خاص مثل Enter یا ترکیب کلیدها مثل Ctrl+C هم میتونی بزنی:
pyautogui.press('enter')
pyautogui.hotkey('ctrl', 'c')
میتونی از صفحه عکس بگیری و ذخیره کنی:
screenshot = pyautogui.screenshot()
screenshot.save("screen.png")
برای فهمیدن رنگ یه پیکسل مشخص:
color = pyautogui.screenshot().getpixel((100, 200))
print(color)
میتونی یه تصویر مشخص رو تو صفحه پیدا کنی و روش کلیک کنی:
location = pyautogui.locateOnScreen("button.png")
if location:
pyautogui.click(location)
یا اینکه دقیقتر روی مرکز تصویر کلیک کنی:
center = pyautogui.locateCenterOnScreen("button.png")
if center:
pyautogui.click(center)
PyAutoGUI یه قابلیت داره که اگه ماوس رو سریع ببری گوشه بالا سمت چپ صفحه، اجرای اسکریپت قطع میشه. این خیلی کمک میکنه اگه خواستی سریع دستورات رو متوقف کنی.
pyautogui.FAILSAFE = True
برای اینکه اسکریپت طبیعیتر اجرا بشه و فشار سیستم کمتر باشه، میتونی یه وقفه بذاری بین دستورات:
pyautogui.PAUSE = 0.5
صفحه رو میتونی به بالا یا پایین اسکرول کنی:
pyautogui.scroll(-500) # scroll down
pyautogui.scroll(500) # scroll up
برای مدیریت پنجرهها میتونی از کتابخونه pygetwindow
استفاده کنی. اول نصبش کن:
pip install pygetwindow
بعد مثلاً اینجوری یه پنجره نوتپد رو فعال میکنی:
import pygetwindow as gw
window = gw.getWindowsWithTitle('Notepad')[0]
window.activate()
try-except
کنترل کن.pyautogui.size()
اندازه صفحه رو بگیر.onScreen()
چک کن مختصات داخل صفحه هست یا نه.pyautogui.FAILSAFE
رو فعال بذار.خلاصه اینکه PyAutoGUI یه ابزار خیلی قویه که باهاش میتونی کلی کار جالب و کاربردی انجام بدی، کارهای خستهکننده رو خودکار کنی و ربات بسازی. حالا که همه چیز رو یاد گرفتی، وقتشه که خودت دست به کار شی و پروژههای باحال درست کنی.
موفق باشی و همیشه خلاق! 🍀