Package: pyautoeasy
PyAutoEasyPyAutoEasyis a extension / wrapper around the famousPyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive tasks.When PyAutoGUI offers powerful ways to control keyboard and mouse movements, PyAutoEasy makes it super easy to grab the cursor positions on the screen and give meaningful names to them and generate the boilerplate program which we can easily modify to suit our needs.How to installThanks to pip! its as simple as :pip install --upgrade pip
pip install pyautoeasyExample UsageStep 1 : Generate initial code after grabbing the required locations in the screenOpen a terminal / command prompt and runpyautoeasyMove your cursor to the desired location and pressalt+rin the keyboard to record the coordinates of a point in the screen.This opens up a dialog box, Now give a name to this point and click OK.Repeat the above 2 steps for all the cursor locations that you want to grab.Pressalt+sto generate your initial automation script. (sample.py)Step 2 : Modify the generated sample script to suit your needs.Lets say you wanna create a login automation. Follow step 1 to record all desired locations in the screen like email field, password field, submit button etc.
The generated sample program would look something like this.frompyautoeasyimportScreenPointemail_field=ScreenPoint(pos=(952,309))email_field.click_here()password_field=ScreenPoint(pos=(934,438))password_field.click_here()submit_button=ScreenPoint(pos=(1127,597))submit_button.click_here()Now you can take above generated file and easily modify it to something like this. Super easy and intuitive!frompyautoeasyimportScreenPointemail_field=ScreenPoint(pos=(952,309))email_field.click_here()email_field.type_here("mytestemail@gmail.com")password_field=ScreenPoint(pos=(934,438))password_field.click_here()password_field.type_here("password@123")submit_button=ScreenPoint(pos=(1127,597))submit_button.click_here()More about ScreenPointA ScreenPoint object represents a point in your screen with (x,y) cordinates specified in theposargument in the constructor.point1=ScreenPoint(pos=(34,78))We can use the ScreenPoint object to move the curser there, click on that point, type something there, right click on that point etc.
These operations can be done easily by using the following methods :point1=ScreenPoint(pos=(34,78))point1.click_here()# click on this pointpoint1.right_click_here()# right click on this pointpoint1.cursor_here()# move the cursor to this pointpoint1.type_here("text to type")# type something after selecting this point.point1.double_click_here()# double click on this pointpoint1.triple_click_here()# triple click on this pointBy default all the operations in ScreenPoint class is done after a delay of `ScreenPoint.Config.delay' (defaults to 1 second).
We can change this property gloabally as followsScreenPoint.Config.delay=0.5Alternatively we can even have a delay specified at each operation by passing the argumentafter_sleeping_for.point1=ScreenPoint(pos=(34,78))point1.click_here(after_sleeping_for=0.5)# click on this point after a delay of 0.5 secondspoint1.right_click_here(after_sleeping_for=0)# right click on this point after a delay of 0 seconds.type_here() method can take an optional argumententer=Truewhich would press an enter key after typing the text. By defaultenter=TrueContribute and Make it betterAny form of contribution is welcome. From finding and reporting bugs to giving feedback to suggesting cool features to building out cool features. Check outCONTRIBUTING.mdfor more details.