pyautogui در پایتون

زمان مطالعه: 10 دقیقه ویرایش: 1401/10/14

توی این مقاله با یه کتابخانه خفن پایتون، برای کارهای مختلف آشنا میشیم!

کتابخانه pyautogui در پایتون

 

کتابخانه pyautogui در پایتون

pyautogui یک کتابخانه پایتون، اتوماسیون رابط کاربری گرافیکی بین پلتفرمی هست. برای کنترل ماوس و صفحه کلید، میتونیم از این کتابخانه استفاده کنیم!

 

نصب کتابخانه

برای نصب کتابخانه، میتونیم وارد cmd بشیم و دستور زیر رو وارد کنیم:

pip install pyautogui

 

 


کنترل ماوس و کیبورد در پایتون

مختصات x و y مورد استفاده در PyAutoGUI، مختصات مبدا 0، 0 در گوشه سمت چپ بالای صفحه هست. هر چقدر که به سمت راست بریم، مختصات x افزایش پیدا میکنه(مثل ریاضی) و هرچقدر پایین بیایم، y افزایش پیدا میکنه(برعکس ریاضی)

نکته: درحال حاضر، pyautogui فقط روی مانیتور اصلی کار میکنه. یعنی اگر مثلا دو مانیتور داشته باشیم، عملکرد درستی روی مانیتور دوم نداره.

-------

نکته: فشار های کیبورد که در pyautogui انجام میشه، بر روی صفحه ای که روی اون فوکوس هست، ارسال میشه. انگار که کلید فیزیکی رو فشار دادید!

 

برای وارد کردن کتابخانه به برنامه، اون رو مثل کد زیر، ایمپورت میکنیم:

import pyautogui

 

دریافت طول و عرض صفحه - پایتون

با استفاده از تابع size، میتونیم 2 عدد که به ترتیب طول و عرض صفحه هست رو دریافت کنیم(دقت کنید این اعداد برای شما میتونن متفاوت باشن):

>>> screenWidth, screenHeight = pyautogui.size()
>>> print(screenWidth, screenHeight)
1280 1024

با تابع onScreen هم میتونیم ببینیم نقطه مدنظر ما توی محدوده صفحه نمایش هست یا نه(اگر در محدوده بود، True و در غیر اینصورت False برمیگردونه).

>>> pyautogui.onScreen(0, 0)
True


حرکت ماوس - پایتون

با استفاده از تابع moveto میتونیم ماوس رو به مکانی که میخوایم، منتقل کنیم. پارامتر اول x و پارامتر دوم y هست. مثلا با کد زیر، میتونیم ماوس رو به وسط صفحه بیاریم!

pyautogui.moveTo(int(screenWidth/2), (screenHeight/2))

برای اینکار، میتونیم مدت زمان هم تعیین کنیم(پارامتر duration مربوط به مدت زمان هست):

pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad)

همچنین با تابع position میتونیم نقطه ای که ماوس روی اون قراره داره رو پیدا کنیم:

>>> pyautogui.position()
(241, 538)

 

کلیک کردن ماوس - پایتون

با استفاده از تابع click میتونیم در مکانی که ماوس قرار داره، کلیک کنیم(چپ کلیک). همچنین میتونیم x و y محلی که قراره در اون کلیک انجام بشه هم به ترتیب به عنوان پارامتر های تابع بدیم:

pyautogui.click()
pyautogui.click(200, 220)

همنین تعداد کلیک های ماوس هم قابل کنترل هست:

pyautogui.click(clicks=5)

 

حرکت ماوس نسبت به مکان کنونی - پایتون

با استفاده از تابع move میتونیم نسبت به مکانی که ماوس قراره داره، حرکتی رو انجام بدیم. اگه قراره مثلا x یا y، ثابت بمونه، مقدار اون رو None قرار میدیم:

pyautogui.move(None, 10)

توی اینجا، ماوس 10 پیکسل میاد به سمت پایین

 

دابل کلیک - پایتون

با استفاده از تابع doubleClick میتونیم عمل دابل کلیک رو انجام بدیم:

pyautogui.doubleClick()

 

نوشتن در برنامه باز شده

با تابع write میتونیم در صفحه ای که فوکوس شده و شرایط نوشتن متن رو داره، تایپ کنیم. مثلا در نوت‌پد. پارامتر interval مربوط به مدت فاصله میان هر کاراکتر هست(بر حسب ثانیه):

pyautogui.write('MrPy!', interval=0.25)

 

فشردن کیبورد با پایتون

کد های زیر به ترتیب مربوط به فشردن کلید، پایین نگه داشتن کلید، برداشتن کلید و فشردن چند کلید هست:

pyautogui.press('esc')
pyautogui.keyDown('shift')
pyautogui.keyUp('shift')
pyautogui.hotkey('ctrl', 'c')

 


درگ اند دراپ - پایتون

با تسفاده از تابع dragTo میتونیم اینکار رو انجام بدیم:

pyautogui.dragTo(100, 100, 2, button="left")

 

اسکرول کردن با پایتون

با استفاده از تابع scroll میتونیم با دادن یک عدد(اگر مثبت باشه به سمت بالا و اگر منفی به سمت پایین) اسکرول کردن رو انجام بدیم:

pyautogui.scroll(100)

 


گرفتن اسکرین شات در پایتون

برای گرفتن اسکرین شات، از تابع screenshot استفاده میکنیم که میتونیم به عنوان پارامتر، آدرسی که فایل قراره اونجا سیو بشه رو بدیم یا اینکه با تابع save، عملیات ذخیره فایل رو انجام بدیم:

img = pyautogui.screenshot()
img.save('my_screenshot.png')
img2 = pyautogui.screenshot('my_screenshot2.png')

اگر بخوایم از یک بخش صفحه، اسکرین شات بگیریم، میتونیم به پارامتر region، یک تاپل شامل 4 عضو که 2 عضو اول x و y و دو عضو بعدی طول و عرض مستطیل هستند رو بدیم:

pyautogui.screenshot(region=(0, 0, 500, 500))

pyautogui برای اینکار از کتابخانه pillow استفاده میکنه

 


 

نمایش پیغام در پایتون

اگر بخوایم هشداری رو نمایش بدیم، میتونیم از کد زیر استفاده کنیم:

pyautogui.alert(text="python is great!", title="python", button="ok")

اگر هم خواستید چند تا دکمه بزارید، میتونید داخل یک لیست نام ها رو تعریف کنید.

 

دریافت متن در پیغام

از تابع prompt استفاده میکنیم که میتونیم مقادیر متن و عنوان و مقدار پیش‌فرض رو وارد کنیم:

pyautogui.prompt(text="", title="" , default="")

برای دریافت پسورد هم میتونیم به شکل زیر عمل کنیم(شما میتونید مقدار mask رو هر چیز دیگه ای بزارید):

pyautogui.password(text="", title="", default="", mask="*")

 

 


پیدا کردن رنگ پیکسل در پایتون

برای اینکار میشه از تابع pixel استفاده کرد که رنگ اون پیکسل رو به صورت rgb برمیگردونه:

>>> pyautogui.pixel(500, 500)
RGB(red=150, green=275, blue=215)

 

این مقاله هم به همین زودی تموم شد :(
اگه سوالی داشتید توی دیدگاه مطرح کنید

heart فراموش نشه :)



3
user نوشته شده توسط عرفان سلیمی علاقه‌مند به برنامه‌نویسی، خصوصا پایتون و C++


دیدگاه


برای ثبت دیدگاه، وارد شوید



باهاش میشه کیلاگر ساخت XD


عرفان سلیمی: اتفاقا توی مقاله بعدی، کتابخانه keyboard که برای این کار هم استفاده میشه، آموزش میدیم!
محمدصدرا عبدالعلی زاده: مراقب فتا باش XD
عرفان سلیمی: :)