yinkaisheng/python-uiautomation-for-windows

🐍Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 26 minutes ago
Added to GitGenius on September 19th, 2026
Created on June 23rd, 2015
Open Issues & Pull Requests: 154 (+0)
GitHub issues: Enabled
Number of forks: 579
Total Stargazers: 3,569 (+0)
Total Subscribers: 99 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.8 days
Mean response time: 76.2 days
90th percentile: 240.8 days
Tracked items: 42

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 32
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 724 days
Stale 30+ days: 32
Stale 90+ days: 30

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (1)
  • upstream bug (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

python-uiautomation-for-windows is a Python wrapper for Microsoft UIAutomation that enables programmatic control and inspection of Windows GUI applications.

The tool solves the problem of automating interactions with Windows desktop applications by wrapping the native UIAutomation API. It works by exposing UIAutomation controls and patterns through Python, allowing scripts to locate UI elements, read their properties, and trigger actions like clicks and text input. The approach supports applications built with various frameworks including MFC, Windows Forms, WPF, Qt, and modern web browsers, as well as Electron-based applications when launched with the appropriate accessibility flag.

Developers should choose this tool when they need to automate testing or interaction with Windows GUI applications that expose UIAutomation providers. It suits projects requiring cross-framework automation without relying on framework-specific APIs. The tool includes a command-line utility for inspecting the control tree and discovering available patterns on UI elements, which helps during development. One constraint to be aware of is that on Windows 8 and later, Metro apps must remain in the foreground to be automated, and Python must run with administrator privileges on Windows 7 and higher for reliable control enumeration.

The project is maintained as a personal spare-time effort. Development has involved significant API changes between major versions, with the shift from version 1.x to 2.0 introducing breaking changes and a dependency on the comtypes library while dropping Python 2 support. The tool includes workarounds for known compatibility issues, such as guidance on avoiding specific Python versions where comtypes fails to function correctly.