I have a horribly complicated (and very poorly designed) autodialer application I need to automate to make it possible for some less technical users to contact customers.
I would like to try using Python to accomplish this, and was wondering what experiences people have had with this. Poking around I’ve found a few extensions geared towards this type of thing:
- Python Win32 GUI Automation (EDIT: PyWinAuto is hosted on GitHub now)
- WATSUP
- winGuiAuto
I would like to compile the end product into a standalone executable, so I’m looking for an extension that plays nice with pyinstaller, but is flexible enough to tackle this application with lots of tabs, checkboxes, radio buttons and buried options- and also refuses to save it’s settings properly on close 🙁 The system is running Windows 7.
Has anyone out there tried this sort of thing and could indicate which one could handle these requirements?
(Compatible with pyinstaller and Windows 7, and can handle drilling down to checkboxes, radio buttons etc.)
PyWinauto should be able to handle it. I used it for automating a OpenGL video game that had buttons and the like that are not Windows widgets so I had to use mouse clicks. However with your app you should be able to drill into the widgets with the functions it provides for using windows widgets. I recommend if possible to have pywinauto actually launch the dialer as it can be harder to find the correct name of the running app if you don’t.
If the app does not use windows gui widgets then you will be able to have it click on the apps window to automate things. One thing you will find is the app must be visible and in focus. So if you want your app to be user interactive you will have to place a window in proximity to the dialer that has buttons. You will have to train your people not to click the autodialer window.