pywinauto | Windows GUI Automation with Python (based on text properties) | Automation library

 by   pywinauto Python Version: 0.6.8 License: BSD-3-Clause

kandi X-RAY | pywinauto Summary

kandi X-RAY | pywinauto Summary

pywinauto is a Python library typically used in Automation applications. pywinauto has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. You can download it from GitHub.

[Join the chat at

            kandi-support Support

              pywinauto has a highly active ecosystem.
              It has 4060 star(s) with 626 fork(s). There are 160 watchers for this library.
              It had no major release in the last 12 months.
              There are 426 open issues and 470 have been closed. On average issues are closed in 276 days. There are 12 open pull requests and 0 closed requests.
              It has a positive sentiment in the developer community.
              The latest version of pywinauto is 0.6.8

            kandi-Quality Quality

              pywinauto has 0 bugs and 0 code smells.

            kandi-Security Security

              pywinauto has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              pywinauto code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              pywinauto is licensed under the BSD-3-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              pywinauto releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              pywinauto saves you 15628 person hours of effort in developing the same functionality from scratch.
              It has 31154 lines of code, 1903 functions and 100 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed pywinauto and discovered the below as its top functions. This is intended to give you an instant insight into pywinauto implemented functionality, and help decide if they suit your requirements.
            • Demonstrates how to enter some tests .
            • Find the elements that match the given query arguments .
            • Generate an element tree
            • Resolves the search criteria .
            • Perform a click .
            • Finds the closest non - text control that is not a non - text control
            • Parses the given string and returns an array of keys .
            • Calculates best match for a given sequence .
            • Gets the menu path .
            • Sets the properties for a given child element
            Get all kandi verified functions for this library.

            pywinauto Key Features

            No Key Features are available at this moment for pywinauto.

            pywinauto Examples and Code Snippets

            No Code Snippets are available at this moment for pywinauto.

            Community Discussions


            How can I fix ModuleNotFoundError?
            Asked 2022-Apr-09 at 15:52

            I've installed pywinauto via pip in the command prompt (with admin). When run in Microsoft Visual Studio Code, the code runs fine. However, when I attempt to run in Spyder (through anaconda) I am confronted with the error message below. I'm trying to use this script for app automation, but can't seem to get past this first step. I looked up the github and it gave what I believe to be an answer here:,version%20%2D%20eg%2C%20%2239%22), however I don't know how to execute this or if it's the actual answer.




            Answered 2022-Apr-09 at 15:52

            I had determined that the version of python I was attempting to use (3.10) was unsupported by pywinauto and so I tried again with Python 3.8. Thank you to everyone who offered an answer to this.



            How to turn python to exe with only needed parts of library?
            Asked 2022-Mar-25 at 07:47

            I made a simple script, turned it into an exe but the final output using auto py to exe with one directory mode was 170 mb, with one file mode it was 64 mb. Thats insane, anyway I can only copy the parts of libraries that my script needs?

            EDIT: My script is simple, this is it The libraries are tkinter, keyboard, pyautogui, pywinauto and time.



            Answered 2022-Mar-25 at 05:12

            Use pyinstaller to convert python files to exe.

            Installation: pip install pyinstaller

            Convert (in Terminal): pyinstaller --onefile ""

            This would create a "dist" folder in the directory you ran the code in and it would contain the ".exe" file of the python file, this only installs the modules used in the program.

            But unfortunately, Size of exe Files are usually big due to the modules used, and cannot be helped (in my opinion)



            Open and save a PDF file using Acrobat Reader in the background using Python
            Asked 2022-Mar-24 at 11:45

            Following the Opening pdf file question

            I am looking for a way to also command Adobe Acrobat Reader to save the file programmatically using Python.

            I am not looking for the pikepdf way of saving the file.

            Reason: This PDF file, created with fill-pdf, needs to go through special formatting done by Acrobat Reader upon opening. Upon exit Acrobat Reader asks whether to save the formatting it did, I need this "Yes, Save" to be via code.

            Edit: How to proceed from here using pywinauto?



            Answered 2022-Mar-24 at 11:45

            solution with pyautogui:



            pywinauto escaping special characters
            Asked 2022-Mar-19 at 06:56

            I am using type_keys() on a combobox to upload files via a file dialog. As mentioned in similar SO posts, this function omits certain special characters in the text that it actually types into the combobox. I'm resolving this by simply replacing every "specialchar" in that string with "{specialchar}". So far I've found the need to replace the following chars: + ^ % ( ).

            I'm wondering where I can find the complete list of characters that require this treatment. I don't think it's this list because I'm not seeing, for example, the % symbol there. I also tried checking from the keyboard library but I don't know if it can be found there.

            PS. I realize that instead of using type_keys(), for example, using send_keys() or set_edit_text(), the escaping of special characters might be done for me automatically. However, for various reasons, it looks like type_keys() works the best for my particular file dialog/situation.




            Answered 2022-Mar-19 at 06:56

            This is the full documentation: All special characters can be wrapped by {}



            Pywinauto fails in VS Code and Succeeds in CMD
            Asked 2022-Mar-17 at 13:08

            My very simple pywinauto code runs smoothly on VS code until recently. In the last few days I didn't manage to run this code in VS code (always get an ElementNotFound exception) while the exact same code runs successfully in CMD.

            Why is that?

            EDIT: Managed to overcome this - had to add wait() after application connect.



            Answered 2022-Mar-17 at 13:08

            After some time I have realized that adding sleep() interruptions after Application.connect() resolved the abovementioned issue.



            How do I select a particular edit controller from Microsoft Office dialog box using Pywinauto and Python
            Asked 2022-Feb-01 at 16:00

            I am trying to create a Python script that will automatically fill the Journal Article details in "Create Source" dialog box of Microsoft Word with the provided data.

            Basically, I want to fill the Input boxes programatically with variables containing the appropriate data for "Author", "Title" "Journal Name", "Year" etc.

            I am trying to select these boxes by using Pywinauto. I have successfully connected Microsoft Word and Selected the "Create Source" dialg box using the following code:

            app = Application(backend='uia').connect(title='Document1 - Word')

            createSource = app.Document1Word.window(title='Create Source').print_control_identifiers()

            The snippet from the Control Identifiers from the above code"



            Answered 2022-Feb-01 at 16:00

            I assume, the alias Name doesn't change from one run to another runs. If so we can do something like this.



            Access a Button in Toolbar Pywinauto
            Asked 2022-Jan-27 at 09:12

            I am trying to automate some of my office work and am new to pywinauto. By running print_control_identifiers() I got the following in my application. How can I, for instance, access and click "Button - 'Open Project File'" which is under Toolbar?


            @Vasily Ryabov -thank you for your comment. I have added some code snippet below (commented line also works for me)



            Answered 2022-Jan-27 at 09:12

            Let's guess your top level window specification is named dialog. It's easy to copy-paste code from print_control_identifiers()/dump_tree() output:



            How to add an application to a list with PyWinAuto?
            Asked 2022-Jan-13 at 06:28

            I'm trying to automate an application on Python that deal with browser window.
            I need to add applications to a list after I open then, so I can go back to their window at anytime easily.

            From the code below I'm able to get the application: pywinauto.application.Application object at 0x0000020C78574FA0

            But if I try to add to a list from the command applications.extend(app) I get the error:



            Answered 2022-Jan-13 at 06:28

            Instead of applications.extend(app) Add the current window to list like this :

            And later use it like this (I mean activating the browser windows) :

            Both the Functions are the implementation win32gui.



            Pywinauto: How to set focus on a window from a dataframe
            Asked 2021-Dec-24 at 02:34

            I'm trying to automate some windows tasks and I got a dataframe of all windows opens, and then I added some more coluns in order to make some validations before proceed with the automation.

            Then I want to loop through all data in the column WebBrowser from the dataframe in order to set focus and activate this windows to the front, and then resize.

            But I'm getting an error when I try the following command app.set_focus(): AttributeError: 'list' object has no attribute 'set_focus'.

            Note: I don't know how to resize yet, I stopped in a step before, but if someone could give me a hint I'd appreciate it.

            My code:



            Answered 2021-Dec-24 at 02:34

            After I run your code, I found your app in app = Desktop(backend="uia").windows(title=x) is a list. So you need to get the app element in list, that is, app[0]. Here is the fixed code and it will run correctly.



            Monitoring the process in python
            Asked 2021-Nov-29 at 11:52

            I am using pywinauto to open a application and closing the dialogue box. I am able to do that but i want to check for the dialogue box from the time I start the application until the app closes..what is the best way to implement that?



            Answered 2021-Nov-29 at 11:52

            This guide contains all necessary methods: Waiting for Long Operations. What you need is method dialog_spec.wait_not('exists', timeout=20) which waits till dialog is closed during 20 seconds.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install pywinauto

            You can download it from GitHub.
            You can use pywinauto like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link