کتابخانه (autopy)

یکی از کتابخانه های پرکاربرد و بامزه و ساده پایتون autopy است که کاری هایی مثل کنترل موس و کیبورد و اسکرین صفحه و اعلان ها و ... را بر عهده دارد، خب بریم سراغ آموزشاول از همه باید کتابخانه autopy را نصب کنیم pip install autopy -Uبعد از نصب وارد محیط برنامه نویسی می شویماگر بخواهیم از صفحه نمایشگر عکس بگیریم import autopy autopy.bitmap.capture_screen().save(&quotimage.png&quot)در خط اول کتابخانه autopy را اضافه کردیم و در خط بعدی مقدار جاری نمایش گر را گرفته و در فایلی به نام image.png می ریزیم، البته میشه به روشی دیگه هم این کار را کرد یعنی مقدار جاری را داخل یک متغییر ریخت و بعد روی اون متغییر ، save را صدا بزنیماگر بخواهیم سایز صفحه را به دست بیاریمh, w = autopy.screen.size()در اینجا size دو مقدار طول و عرض را بر میگردانداگر بخواهیم رنگ نقطه ای از تصویر جاری را بگیریم autopy.screen.get_color(X, Y)در اینجا به get_color دو مقدار x و y را می فرستیم و خروجی یک عدد از نوع int است که بین 0 تا 16777215 است اگر بخواهیم کد رنگ را به RGB و یا بالعکس تبدیل کنیمautopy.color.hex_to_rgb(code) autopy.color.rgb_to_hex(r, g, b)در بالا با استفاده از دو تابع ساده این مقدار ها را به هم تبدیل می کنیماگر بخواهیم موس را کنترل کنیم autopy.mouse.move(X, Y)همان طور که مشاهده کردید موس از نقطه ای ناپدید و در نقطه ای دیگر ظاهر شد اما اگر بخواهید موس به جای حرکت ناگهانی ارام و واقعی تر حرکت کند چه ؟autopy.mouse.smooth_move(x,y)حال مشاهده می کنید که موس به ارامی به سمت نقطه داده شده حرکت می کنداگر بخواهیم با موس کلیک کنیم !!!نکته جالب کتابخانه autopy این است که می توان با استفاده از آن روی نقطه ای با موس کلیک کرد :-)autopy.mouse.click()دیدید که به چه سادگی توانستیم با موس کلیک کنیم (توجه : نقطه کلیک همان نقطه جاری موس است)خب حالا ببینیم می تونیم کیبورد رو هم کنترل کنیم ؟autopy.key.type_string(&quotHello World :-)&quot, wpm=30)خب در اینجا اگر بخشی که بشود درونش تایپ کرد select شده باشد می بینید که به صورت خودکار کیبورد شروع به تایپ hello world می کند (مقدار wpm سرعت تایپ است اگر به آن مقدار ندهید متن ناگهان تایپ می شود)اگر بخواهیم کلید های خاص را فشار دهیم چطور ؟autopy.key.tap(autopy.key.Code.TAB)در اینجا از key.code کلید مورد نظر خود را صدا زدیم و همان طور که دیدید tab گذاشته شد (می توان به جای کلید های خاص از حروف هم استفاده کرد مانند "w")اگر بخواهیم چند کلید را هم زمان بگیرم مانند (ctrl + c) autopy.key.tap(autopy.key.Code.TAB, [])دقیقا مانند کد بالا با این فرق که به انتهای آن یک لیست هم اضافه کردیم، در این لیست باید کلید هایی اضافی که می خواهیم قرار دهیم را بنویسیم، مانند:autopy.key.tap(autopy.key.Code.TAB, [autopy.key.Modifier.META, autopy.key.Modifier.CONTROL])(توجه به دلیل طولانی بودن خط ادامه کد به خط بعد رفته است)خب همان طور که می بینید از Modifier کلید مورد نظر را صدا میزنیم ما در اینجا دو کلید اضافه را صدا زدیم TAB + META + CTRLکه با اجرا کردن کد این کلید ها اجرا می شوند توجه با استفاده از bitmap.Bitmap می توان در عکس ها جست و جو کرد و یا سایز آن ها را به دست اورد و...برای باز کردن عکسphoto = autopy.bitmap.Bitmap.open('5.png')در اینجا عکسی را باز کرده و در photo می ریزیم چگونه msgbox ای را نمایش دهیم ؟autopy.alert.alert(&quotHello World&quot)در بالا ما از alert.alert را صدا زدیم و مقدار hello world را به آن داده ایمحاصل کن بالاهمان طور که دیدید msgbox ای برای ما به نمایش در آمد، اما !!!همان طور که می بینید title اعلان ما (Autopy Alert) است که این موضوع خوبی نیست با اضافه کردن title می توانیم title را تغییر بدهیمautopy.alert.alert(&quotHello World :-)&quot, title=&quottitle&quot)حاصل کد بالاهمان طور که می بینید title ما به title تغییر کرد.شاد و پیروز باشید ;-) https://pypi.org/project/autopy/