به درخواست یکی از دوستان توی این پست قراره کاربردهای کتابخونه ی pyautogui توی پایتون رو بررسی کنیم و ببینیم که چه مانور هایی با استفاده از این کتابخونه و کتابخونه های دیگه داد
فقط یاد آوری کنم کتابخونه ی pyautogui رو نصب کنین
کد اسکرین شات از صفحه :
import pyautogui
pyautogui.screenshot("C:\Users\ViRus32\Desktop\File-Name.png")
شاید تو بعضی از برنامه های گرافیکی دیده باشین که برنامه موقع خارج شدن MessageBox تو سی شارپ یا MsgBox تو ویژوال بیسیک رو میده که اگه Ok بدی ، از برنامه خارج میشه و اگه Cancel بدیم از برنامه خارج نمیشه
با استفاده از این کتابخونه و کد پایین میتونیم یه متغیر تعریف کنیم که اگه کاربر Ok زد ، متغیرمون مقدارش میشه OK و اگه Cancel بزنه میشه Cancel و در آخر هم میتونیم شرط بزاریم که اگه متغیر OK بود فلان کن و اگه Cancel بود فلان کار دیگه
import pyautogui
v32 = pyautogui.confirm("Confirm Close")
print v32
البته من فقط چون ببینین نتیجه چی میشه بخاطر همین آخرش نوشتم print v32 و شما باید اون خط رو پاک کنین و کد مورد نظرتونو که میتونه شرط و ... باشه بزارین
شاید بخواین یه چیزی تو مایه های InputBox یا همون جعبه ورودی نمایش بدین و بعد از اینکه یه مقداری رو از کاربر گرفتین ، اونو توی متغیر بزارین و شرططونو براش بزارین و ...
import pyautogui
v32 = pyautogui.prompt("Enter your name")
print v32
کد بالا یه جعبه دریافت متن واسمون میاره و بعد از اینکه مقدارو زدیم اونو print میکنه
با استفاده از کد پایین یه چیز تو مایه های کد قبلی میتونیم یه مقدار رو بگیریم و بریزیم توی متغیر ، اما شاید بخواین از کاربر پسووردی چیزی بگیرین که وقتی کاربر وارد میکنه ، متن توی اون کادر ستاره ای باشه و ...
import pyautogui
v32 = pyautogui.password("Enter your password")
print v32
شاید بخواین یه کادر پیغامی به کاربر نشون بدین و بگین که اینترنت شما قطعه یا اینکه یه مشکلی تو برنامه پیش اومده و ...
import pyautogui
v32 = pyautogui.alert("Error in application")
print v32
البته تو کد بالا مقدار رو میریزیم توی متغیر v32 که میتونیم براش شرط بزاریم و شرط نزاریم و اصلا کد رو نریزیم توی متغیر و ...
میتونیم یدونه متنی رو با استفاده از اون تایپ کنیم ، فقط برای اینکار قبلش باید کتابخونه ی keyboard رو هم نصب کنیم
import keyboard, pyautogui,time
time.sleep(3)
pyautogui.typewrite("ViRus32Bat")
اینجا سه تا کتابخونه ی time برای به انتظار بردن برنامه و .... وارد برنامه کردیم
شاید سوال بشه کتابخونه ی time برای چیه ؟ پیشنهاد میکنم کتابخونه ی time رو بردارین و خط دوم رو هم از کدها پاک کنین ، چون اگه نباشه متن ما که ViRus32Bat هستش ناقص تایپ میشه اما ما باید یه زمان در نظر بگیریم که برنامه درست کار بده
در آخر میخوایم یه حرکت تیک نیکی و پیک نیکی با استفاده از کد قبلی بزنیم :) یعنی میخوایم با استفاده از متد press_and_release که توی کتابخونه ی keyboard هست ، دو تا کلید ترکیبی Windows+R رو فشار بدیم و بعدش تایپ کنیم notepad و Enter رو بزنیم و متنمونو داخلش بتایپیم :)
کد پایینو یه نیگا بندازین
import keyboard, pyautogui,time
keyboard.press_and_release("windows+r")
time.sleep(1)
pyautogui.typewrite("notepad")
time.sleep(1)
keyboard.press_and_release("return")
time.sleep(1)
pyautogui.typewrite("ViRus32Bat")
خط اول که مشخصه ، تو خط دوم با استفاده از متد press_and_release توی کتابخونه ی keyboard کلید های ترکیبی Windows و R رو گرفتیم که باعث میشه Run باز بشه و تو خط سوم گفتیم یک ثانیه بعد با استفاده از typewrite توی pyautogui مینویسیم notepad و دوباره یک ثانیه بعدش کلید return با همون Enter رو میزنیم و دوباره :) یک ثانیه بعدش میگیم با استفاده از typewrite بنویس ViRus32Bat
موفق باشید
دمت گرم
ولی مگه میشه درباره کتاب خانه pyautogui اینقدر ناقص بنویسی و درباره کتاب خانه punput اصلا چیزی ننویسی؟ D: