Search code examples
captureuipath

How to using UI.Path to Getting Data from Running Table


I have an application Desktop App (on windows 10) that displays a running table. Where that table only has a maximum of 5 rows. Each new data will be displayed on the next line/row. If the row has reached its maximum, then the data will be redisplay starting from line 1 again, and so on.

This app runs all day, and I want get that running data and put it in excel. And I want use UI.Path, since that app not create a copy or log of data.

The question is Can UI.Path be used to solve this problem (catch running data)?.

Note the frequency of new data is very high, and it make table running very fast too.

Thanks Xama Zukitan

Table Simulation :
+==============+
|Code | Value  |
+==============+
| A1  |  2.000 |
| A1  |  3.000 |
| A2  |  2.000 |
| A3  |  2.000 |<< This is a latest data, 
| A4  |  2.000 |      a new Coming Data will display at next row 
+==============+

+==============+
|Code | Value  |
+==============+
| A1  |  2.000 |
| A1  |  3.000 |
| A2  |  2.000 |
| A3  |  2.000 | 
| A5  |    900 |<< New data will be display here, 
+==============+      the new data is A5 - 900 

+==============+
|Code | Value  |
+==============+
| B2  |  3.300 |<< When a new data coming again, it will be display here, 
| A1  |  3.000 |      since max row is reached 
| A2  |  2.000 |      (start from row one again)  
| A3  |  2.000 |        the new data is B2 - 3.300 
| A5  |    900 | 
+==============+

Solution

  • You absolutely can use UiPath for this. You could either Scrape the Data or try a 'Get Text' Activity on the Application.

    Then just move the scrape/extracted data into a DataTable; then you can write into an Excel, CSV, txt file etc.

    Once you've got the process up and running you can utilise Orchestrator to trigger on whatever schedule you want - up to one minute per run. You can also use a CRON expression if you've got a very specific frequency to run.

    enter image description here

    Due to how your table is written in terms of a max of five rows, you might want to store in an Asset the Index of the Latest reading; just so that you can instruct the bot which row to read from on the next run time (then update after completion)