آموزش کتابخانه PyAutoGUI (قسمت سوم)

3 سال پیش - خواندن 3 دقیقه

سلام و خسته نباشید عرض می کنم خدمت امیگویی های عزیز. با یه قسمت جدید از سری مقاله آموزش کتابخونه pyautogui، همراه شما هستیم.

توی این قسمت قراره با هم کنترل کیبورد به کمک این کتابخونه رو یاد بگیریم.


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

write:

مهمترین کار کیبورد، نوشتنه؛ این تابع، این کار رو انجام میده. این تابع ورودی ما رو تایپ می کنه. نحوه استفاده ازش به این شکل هست:

import pyautogui as pag
pag.write(message="Omigo")

خط 1: مثل دو قسمت قبل، کتابخونه رو با نام pag فراخوانی کردم.

خط 2: به تابع ورودی Omigo رو به صورت string و به عنوان message دادم. نتیجه این تابع، تایپ شدن این عبارته.

سوال: الآن این تابع عبارت Omigo رو کجا تایپ می کنه؟

جواب: حتما دیدید وقتی روی جای مثل تکست باکس کلیک می کنید، نشانگر ماوس (که حالا به شکل یه خطه) به حالت چشمک زن در میاد. در این صورت، شما هر چیزی که تایپ کنید، توی اون تکست باکس تایپ میشه. اینجا هم اینطوریه. اگر چنین تکست باکسی وجود داشته باشه، عبارت اونجا تایپ میشه. اگر هم وجود نداشته باشه هم چیزی تایپ نمیشه.

این تابع یه ورودی مهم دیگه هم داره به نام interval. ورودی این تابع به صورت float هست. هر عددی که با این عنوان به تابع بدیم، به اون مقدار (به ثانیه) بین زمان تایپ حروف فاصله می افته:

import pyautogui as pag
pag.write(message="Omigo", interval=2)

مثلا در کد بالا، بین تایپ حروف عبارت Omigo، دو ثانیه فاصله به وجود میاد. یعنی O تایپ میشه، بعد از 2 ثانیه، m تایپ میشه و ...

hotkey:

این تابع برای استفاده از میانبر های کیبورد هست. یعنی ورودی که به این تابع می دیدم، باید به صورت عبارت میانبر باشه. مثال:

import pyautogui as pag
pag.hotkey("Ctrl", "c")

تو قطعه کد بالا، به برنامه گفتم میانبر ctrl + c رو استفاده کن (به معنی کپی). فکر کنم این تابع توضیح اضافه ای نیاز نداشته باشه. فقط لیست اسم کلید هایی مثل ctrl رو پایین تر می گم:

['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
'browserback', 'browserfavorites', 'browserforward', 'browserhome',
'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
'command', 'option', 'optionleft', 'optionright']

keydown:

وقتی کلیدی رو به این تابع می دیم، اون دکمه رو فشار میده و همینطوری نگه میداره! یعنی توی توابع دیگه، وقتی کلیدی رو به تابع می دادیم، اون رو یکبار (یا به تعدادی که ما بهش می گفتیم) می زد؛ ولی این تابع اون دکمه رو فشار میده و نگه میداره.

keyUp:

این تابع هم دقیقا بر عکس تابع بالاست. یعنی کلیدی که در حال فشرده شدنه رو از این حالت خارج می کنه.

press:

این تابع برای فشردن یک کلید خاص هست. به طور پیشفرض، کلیدی رو که بهش می دیم رو یکبار فشار میده:

import pyautogui as pag
pag.press("f11")

حالا اگر بخوایم تعداد فشردن بیشتر بشه، با ورودی presses و به صورت int، تعداد press ها رو به تابع ابلاغ می کنیم:

import pyautogui as pag
pag.press("f11", presses=2)

امیدوارم از این سری آموزش راضی بوده باشین. مشکلات و نظرات رو در بخش کامنت ها مطرح کنید تا با هم حلشون کنیم.

3
دونیت
دونـیت
کــارمـا :
1739
اولین پیج پایتون امیگو
بفرست

مشاهده نظرات بیشتر...
python