Skip to content

Files

Latest commit

 

History

History
 
 

windows

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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).