Skip to main content

Robocorp Windows Automation (API to automate Windows)

Project description

robocorp-windows is a library which can be used for Windows desktop automation.

The basic idea of the library is enabling windows and controls to be found by leveraging locators (i.e.: strings which identify how to reach some window or control) and then interacting with such elements.

There are 3 basic abstractions in the library:

  • Desktop: enables finding WindowElements and interacting directly with the desktop (so, actions which aren't tied to a Window or Control can be used directly through the Desktop).
  • WindowElement: enables finding ControlElements and interacting with a Window.
  • ControlElement: enables finding child ControlElements and interacting with a specific Control.

Note: these classes are always created by the library itself and are not expected to be subclassed or instanced directly.

Usage

The library concepts revolve around the idea that the window of interest will be initially found using find_window and then, with that window reference, other controls can be queried and interacted with (for clicking, entering text, etc).

Below is an example using the windows calculator:

from robocorp import windows

# Get the calculator window
calc = windows.find_window("name:Calculator")

# Press button 0 (the locator is dependent on the windows version).
button0 = calc.find('(name:Zero or name:0) and class:Button')
button0.click()

# Clear the calculator (the locator is dependent on the windows version).
calc.click("id:clearButton or name:Clear")

# Send the keys directly to the calculator
calc.send_keys(keys="96+4=")

Guides

API Reference

Information on specific functions or classes: robocorp.windows

Changelog

A list of releases and corresponding changes can be found in the changelog.

Versioning

This library uses semantic versioning, so, when a breaking change is done a new major version is published, but beware that modules starting with an underscore _ in robocorp.windows are not considered part of the public API and should not be imported directly (so, only objects/classes reached from the robocorp.windows namespace should be used -- if access to some other method/class is needed, please create a feature request to address it).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robocorp_windows-1.0.1.tar.gz (202.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robocorp_windows-1.0.1-py3-none-any.whl (210.9 kB view details)

Uploaded Python 3

File details

Details for the file robocorp_windows-1.0.1.tar.gz.

File metadata

  • Download URL: robocorp_windows-1.0.1.tar.gz
  • Upload date:
  • Size: 202.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.13 Windows/10

File hashes

Hashes for robocorp_windows-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a4c150ed39323e2c86336bba574cbf781b7e4e339f647e2e677d05ed1eec1e6c
MD5 5f93b68a456f1ae70435c5d8a1661226
BLAKE2b-256 1dd4f0a368af5e3a979562ee9845bbc1e4cd976a729bf95a0c85e6bc1eed96a4

See more details on using hashes here.

File details

Details for the file robocorp_windows-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: robocorp_windows-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 210.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.9.13 Windows/10

File hashes

Hashes for robocorp_windows-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7fdc112e85ce06506c8739939c2290205befe8dcb5cb194954ab26c0b05e0963
MD5 31fb0ebc4223082acf44a0956bb84537
BLAKE2b-256 33b7bc96ba436444efdc015ba05e2dff56e8c927af3a8b5c85c1b42a4852078e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page