×

Software robots for programmatically controlling computer programs to perform tasks

  • US 10,268,333 B2
  • Filed: 03/03/2016
  • Issued: 04/23/2019
  • Est. Priority Date: 03/03/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • at least one computer hardware processor; and

    at least one non-transitory computer-readable storage medium storing;

    a computer program for controlling first and second application programs to perform a task comprising a first sub-task to be performed by the first application program and a second sub-task to be performed by the second application program; and

    processor-executable instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to perform;

    generating an object hierarchy comprising a plurality of objects corresponding to active graphical user interface (GUI) elements of the first and second application programs, the object hierarchy comprising a first object corresponding to a first active GUI element of the first application program and a second object corresponding to a second active GUI element of the second application program;

    controlling the first application program, via the computer program, to perform the first sub-task at least in part by;

    automatically accessing, in the object hierarchy, the first object corresponding to the first active GUI element of the first application program, the accessing comprising searching for the first object in the object hierarchy using a first search string formatted in accordance with a search grammar and specifying the first object as an object to be searched in the object hierarchy, and the searching for the first object comprising;



    searching for a third object in the object hierarchy;



    modifying the object hierarchy, when the first application program'"'"'s graphical user interface has changed, by adding one or more new objects to the object hierarchy as descendants of the third object and/or removing one or more objects from the object hierarchy to obtain a modified object hierarchy; and



    searching for the first object in the modified object hierarchy; and

    automatically using the first object to cause, via the first active GUI element, the first application program to at least partially perform a first action in furtherance of the first sub-task; and

    controlling the second application program, via the computer program, to perform the second sub-task at least in part by;

    automatically accessing, in the object hierarchy, the second object corresponding to the second active GUI element of the second application program, the accessing comprising searching for the second object in the object hierarchy using a second search string formatted in accordance with the search grammar and specifying the second object as an object to be searched in the object hierarchy; and

    automatically using the second object to cause, via the second active GUI element, the second application program to at least partially perform a second action in furtherance of the second sub-task.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×