Chapter - 7 Recording

41 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€95.03
List Price:  €133.05
You save:  €38.01
£79.15
List Price:  £110.82
You save:  £31.66
CA$139.67
List Price:  CA$195.55
You save:  CA$55.87
A$153.55
List Price:  A$214.98
You save:  A$61.42
S$134.39
List Price:  S$188.16
You save:  S$53.76
HK$778.22
List Price:  HK$1,089.54
You save:  HK$311.32
CHF 88.36
List Price:  CHF 123.71
You save:  CHF 35.34
NOK kr1,105.21
List Price:  NOK kr1,547.34
You save:  NOK kr442.12
DKK kr708.87
List Price:  DKK kr992.45
You save:  DKK kr283.57
NZ$170.45
List Price:  NZ$238.64
You save:  NZ$68.18
د.إ367.26
List Price:  د.إ514.18
You save:  د.إ146.92
৳11,959.01
List Price:  ৳16,743.10
You save:  ৳4,784.08
₹8,452.40
List Price:  ₹11,833.70
You save:  ₹3,381.29
RM446.45
List Price:  RM625.05
You save:  RM178.60
₦168,042.19
List Price:  ₦235,265.79
You save:  ₦67,223.60
₨27,819.88
List Price:  ₨38,948.94
You save:  ₨11,129.06
฿3,466.55
List Price:  ฿4,853.31
You save:  ฿1,386.76
₺3,454.83
List Price:  ₺4,836.90
You save:  ₺1,382.07
B$580.99
List Price:  B$813.41
You save:  B$232.42
R1,812.36
List Price:  R2,537.39
You save:  R725.02
Лв185.85
List Price:  Лв260.20
You save:  Лв74.35
₩140,106.88
List Price:  ₩196,155.24
You save:  ₩56,048.35
₪373.41
List Price:  ₪522.79
You save:  ₪149.38
₱5,905.80
List Price:  ₱8,268.36
You save:  ₱2,362.56
¥15,438.71
List Price:  ¥21,614.81
You save:  ¥6,176.10
MX$2,034.25
List Price:  MX$2,848.03
You save:  MX$813.78
QR364.93
List Price:  QR510.92
You save:  QR145.98
P1,367.12
List Price:  P1,914.02
You save:  P546.90
KSh12,923.70
List Price:  KSh18,093.70
You save:  KSh5,170
E£4,964.56
List Price:  E£6,950.58
You save:  E£1,986.02
ብር12,476.97
List Price:  ብር17,468.25
You save:  ብር4,991.28
Kz91,223.61
List Price:  Kz127,716.70
You save:  Kz36,493.09
CLP$97,372.26
List Price:  CLP$136,325.06
You save:  CLP$38,952.80
CN¥724.09
List Price:  CN¥1,013.76
You save:  CN¥289.66
RD$6,035.83
List Price:  RD$8,450.41
You save:  RD$2,414.57
DA13,357.64
List Price:  DA18,701.23
You save:  DA5,343.59
FJ$226.99
List Price:  FJ$317.80
You save:  FJ$90.80
Q772.55
List Price:  Q1,081.60
You save:  Q309.05
GY$20,937.04
List Price:  GY$29,312.70
You save:  GY$8,375.65
ISK kr13,828.61
List Price:  ISK kr19,360.61
You save:  ISK kr5,532
DH999.72
List Price:  DH1,399.66
You save:  DH399.93
L1,820.82
List Price:  L2,549.22
You save:  L728.40
ден5,848.08
List Price:  ден8,187.54
You save:  ден2,339.46
MOP$802.33
List Price:  MOP$1,123.29
You save:  MOP$320.96
N$1,815.10
List Price:  N$2,541.22
You save:  N$726.11
C$3,682.57
List Price:  C$5,155.75
You save:  C$1,473.17
रु13,507.81
List Price:  रु18,911.48
You save:  रु5,403.66
S/379.77
List Price:  S/531.69
You save:  S/151.92
K402.86
List Price:  K564.02
You save:  K161.16
SAR375.38
List Price:  SAR525.55
You save:  SAR150.16
ZK2,769.51
List Price:  ZK3,877.43
You save:  ZK1,107.91
L472.94
List Price:  L662.13
You save:  L189.19
Kč2,407.85
List Price:  Kč3,371.09
You save:  Kč963.24
Ft39,078.98
List Price:  Ft54,712.13
You save:  Ft15,633.15
SEK kr1,102.90
List Price:  SEK kr1,544.10
You save:  SEK kr441.20
ARS$100,263.16
List Price:  ARS$140,372.43
You save:  ARS$40,109.27
Bs693
List Price:  Bs970.23
You save:  Bs277.22
COP$441,313.30
List Price:  COP$617,856.28
You save:  COP$176,542.97
₡50,820.06
List Price:  ₡71,150.12
You save:  ₡20,330.05
L2,528.86
List Price:  L3,540.51
You save:  L1,011.64
₲783,733.33
List Price:  ₲1,097,258.01
You save:  ₲313,524.68
$U4,278.05
List Price:  $U5,989.44
You save:  $U1,711.39
zł413.19
List Price:  zł578.49
You save:  zł165.29
Already have an account? Log In

Transcript

Chapter Six recording. With all the previous chapters, theoretical explanations and hands on exercises, we must now have a pretty pretty decent knowledge on interfaces, flowcharts sequences, data variables, data types, data scope and the operations. In this chapter, we'll be going through an overview of Fortune calling is we'll delve into basic recording, desktop recording, manual recording, web recording and Citrix recording. Recording is one of the most sophisticated and easy to use feature of UiPath. In complex automations, it can save tremendous amount of time while building the bot UiPath incorporates an inbuilt macro recorder that acts like a set of application wizard, where the UI movements of a user such as clicking the mouse, typing on the keyboard, launching an application etc. Our capture and the UiPath scripts which we call sequences for the same are generated automatically.

This provides a shell workflow to be leveraged by the user, which can be modified to make it more robust and optimally stable. Recording is a great way to start an automation process. The workflow it creates shall be used as a schematic structure, on top of which our business logic can be implemented. UiPath supports four types of recording, namely basic desktop, web, and Citrix. Basic recording basic recording generates slower workflows generally suited for individual activities. They generate full selectors and have no containers.

We'll be discussing all these activities and the basic recording feature once we get to the practical application itself. And we'll also describe what selectors and the containers are. Next, desktop recording desktop recording is the one that is supported by all desktop applications and can perform multiple operations. It is usually faster than basic recording, and generates container with partial selector for each activity. Web recording this type of recording is used to automate web based applications. Web recording is supported in both Google Chrome as well as Internet Explorer.

In this containers are generated, and the feature uses a simulate type or click input method by default Citrix recording. Citrix recording is used to automate in visualized environments such as virtual machines, VNC, Citrix environments etc. They extensively use image scraping mechanisms, but also support text and keyboard based automations. Directly recording requires explicit positioning of the UI windows and LMS recordings in any of these environments produce a sequence of activities, mimicking the operations just performed by the user. These activities provide a skeleton workflow, which is easily modified by the user. The generated workflow also includes informative screenshots, which are informative of the action the activity performs.

It is worth noting that there are a few actions such as typing into text areas, left clicks on buttons, drop down menus, checkboxes, etc, which are recordable within UiPath. However, actions such as right clicks, mouse hovering, keyboard shortcuts and modifier keys like control, alt etc are not recordable. Basic recording basic recording is used for very small operations performed within desktop applications. As mentioned before, they generate full selectors, selectors, or dotnet attributes that are used to identify UI elements. It is of utmost importance to choose reliable selectors, as these help in increasing reliability for the workflow in UiPath, when we use activities and interact with outside applications, these selectors are automatically generated. In case of non static user interface applications, it is advisable to thoroughly check the selectors, and include or exclude a few to make workflow generic or specific depending on the requirement.

Use of wildcards in selected properties is a highly advisable practice to make identification easier, reliable, and generic. to look into the selectors, we can go to the launch UI explorer from the menu bar, and we can select the specific UI element together selector. Additionally, basic recording doesn't have containers. In programming language terminology, a container is a component that contains other components within itself. A simplest form of container includes windows, frames, panels, dialogues, etc, etc. A quick example is that Windows pop up is a component that acts as a container, which may include other UI elements such as text boxes, checkboxes, radio buttons, labels and more.

Basic recording feature within UiPath studio identifies each UI element, but doesn't distinguish them on the basis of containers. This in some cases, makes it difficult to identify the required UI element correctly to start with the recording We go to this recording option in the menu bar, and you click on the recording and choose the basic recording method. Subsequently, a recording controller window appears which provides the option to start the recording. Along with a few basic features in any operation, like starting an application are typing into an application click into a UI element, copy the data from some element etc. These steps can be added manually, rather than performing them in recording, and they get sequence to the workflow which shall be confirmed when recording is entered. And to end the recording session, we simply press the Escape key on the keyboard or right click on the mouse.

Once done, we can hit save and exit and generate the corresponding workflow. Let's take a sample use case. To understand how basic recording works. Consider Now that you have a blank MS Word window open, and you need to create a workflow. To write some text, let's say welcome to UiPath, your one stop solution to robotics Process Automation within it, you have to underline it and you have to set the font size to 16. Right, then, what we got to do is, we go to the recording option, choose the basic recording for now to show how it works.

Then we go and hit this record button, we have the recording controller in front of us. And now all the actions which we will be performing would be recorded by the controller and its corresponding workflow would be generated. So let's set the font size to 16. Right, and then we also want to underline the text. So click here as well. And in this area where we have to write the text, we just select and hit it and whatever we want, right well Right, and you just have to hit enter.

Okay. And now if you want to end the recording, you can either right click or press escape. Here you get it and the Save and Exit button has been enabled. Now, save and exit and recording sequence has been generated. Right? It is worth noting that this recording sequence upon creation is not yet connected to any activity.

So we have to make sure that it is connected logically, wherever in the workflow, we want to get it connected, because that's not always going to be the case that you will have to connect it to the start node. There could have been a few more steps and then one part you've recorded and you want to connect that to, to your preceding activity to me Make sure it works in the correct logical manner. Right. And here, we connected this. And if we open it, we see that, you know, these are the activities that it's going to perform that click this button, choose number, the item 16, you clicked on the number 16. Then you click in the button that has gone that is going to underline the text.

And you type this text Welcome to you about your one stop solution to robotics process automation. You can always change this text in here. So you see the workflow generated actually makes it easy for us to do any modifications, instead of UiPath. Or instead of robotic process automation. You just want to let's say right RPA you can do that by changing it in here itself, the text and corresponding text would be entered. So let's try and see if this works or not.

Right. And once we run this it's selecting 16 it again, click the underline because it was already underlined. So now it's not underlined, the text, which it's on the right is not underlined anymore. And welcome to the One Stop solution to our PA. Right? So now let's imagine that you know, you didn't want to write in concatenation to watch your previous text was, you wanted to wipe down the data first and then write it down again, right?

Then you have a few parameters. And these things you get to know when you play around with the tool to know in the writing text activity, you can just check empty, empty field and the data the previous data which is there in the file, and would be wiped out and only the new data would be existing. So let's run this and see how it works. So now it's going to underline because Okay, so you see the last line was completely wiped out. That's because this is one line. This is one line.

Line again, being treated as a separate lines. So it emptied the whole field considered as a text area or something, right. So that's how the whole RPA this whole process works. And if you want to change it, there are a lot of other ways that you know, whenever you're even starting to write it from the starting itself, you can always empty the field and now even if you write it again, and again, it's gonna always wipe out the first text itself because see in a form, if you have, let's say, name, the first name and the last name, and you have written the first name, which is correct, and now you want to wipe out the last name and write down again using the bot. You don't want your first name to delete it now, that will be considered a separate entity. Right?

So is the case in here. Using the empty field checks checkbox is gonna clear the field, the only the current field and not the previous fields. For that you'll have to have another method. Right and In this case, you also see all the actions that are provided by the, by the user. Of course, you know, there is an informative screenshot attached to it to sort of make it comprehensible for person to understand where the action is going to be taking place, like this red mark is telling me that this particular activity is going to act upon this arrow thing where he will get the option to select the font size, right? So if in, I mean, they are really good to have, but in case you don't want any informative screenshots, you can simply click on this hamburger icon, and you can remove the informative screenshot, right?

You might also observe that on re executing, you know, there is a possibility that the text that you wrote down, right, might have been might have started from this but again, if you increase the size, right or something like this or in any way, if your font size was smaller, and you would have written the whole thing again, the text would have gone through. And now if you will see, because it wasn't the first line itself, the text was wiped out from this whole line, and again, written down based on what the activity is supposed to do. Right? So you don't see like everything is happening under just one, you know, as one sequence and as separate activities. But what containers are would be very useful in our next recording topic which is going to be desktop recording. Right, so we'll discuss the containers in there because it's going to make much more sense.

Desktop recording. The other type of recording supported within UiPath studio is desktop recording. is more suitable for large, complex automations and generally creates more reliable workflows. The selectors used to identify UI elements are partial, and containers are also taken into consideration. The generated workflow usually adds complexity by adding containers and nesting operational activities inside it. To better understand the difference between desktop and basic recording, we'll use the same sample use case as we just mentioned, where we'll be writing the particular text into the MS Word window and changing the font and the underlining activity and stuff.

So consider that you have MS Word window open and this time you use desktop recording. So similarly, similar to the basic recording, we got the recording controller, and we have all the manual activities that we can add within the workflow and it will be automatically put down in the recording itself. But let's try and start the recording itself. We select the value of the font size to 16. We also click on the underline. And in this text area, we right Welcome to UiPath.

Your one stop solution to RPA. And we press and we can, you know, directly select the empty file here, instead of going and checking that in the Properties parameter of the type into activity. That way it becomes more handy for us, we won't have to go and change it and every time it writes down anything in the MS Word window, then it will wipe out the old data and correspondingly add it and once it does that, we can simply hit escape and we can say The recorded sequence and it will be generated. So, the workflow in desktop recording contains activities within attach window containers. This enables the program flow to attach itself to an already opened window and performs underlying activities within it. Look into the containers more precisely.

And it can be observed that the containers are different for each operation we performed. Like the first container is the MS Word window itself. Right. This is the first and foremost screen that the bot gets to see and execute upon. The second is the area to change the font size. This is where the drop down from the font size is displayed and the corresponding size value is chosen.

The third and the last container includes the screen where data is inserted. This is the void filled with text that is provided as input by the user. On the basis of visible screens, containers are taken by the recorder. These containers along with selectors, such as name of the application in a window, title or other such details, ensure that the operations are performed in correct area. And that same or similar windows of other applications don't interfere with your created workflow. It is also worth noting that there may be cases when all of these are precisely identical.

And if no containers are used, UiPath would work on the most active or the topmost window of the application. Thus, for multiple actions, desktop recording is preferred and highly highly recommended. So a quick different summary between basic and desktop recording would be that basic this basic recording does not have any content Or has self contained actions, whereas desktop recording has, the actions are enclosed in the attachment container. Basic supports full selectors while desktop recording supports partial selectors because in basic recording, you will have the attribute within the selector the those XML tags for container as well, every time and a UI element is selected. But in the desktop recording, you'll see only those attributes which are specific to UI element and not to the upper layer you know, that includes the window name or the title or the container level details. Right basic recording may cause interference with instances of similar application.

But desktop recording takes care of that problem and no interference issues will be there whatsoever. And your basic recording is suitable for simple workflows, while desktop is for a little too high complex automations Additional information is that if you want to pause an ongoing recording session, you simply have to press f2 button in your keyboard, the recording session would be paused for just three seconds. This has implications in terms of finishing the projects, to complete an action you intend to add to your workflow, or get to the required screens you intend to reach for your recording sessions. Let's say just a quick example. If you were going through this, there was some recording that was being done. You press the f2 1321.

There's a timer that started and now again, you're back there. So suppose you want to change something in your arm. Instead of 11. You want to put it instead of 16, which you already chose in the in your workflow in your already existing, you know, recorded workflow. You want to let's say have 20 right and you don't have that screen visible right now. So what you can do is you can press f2 That way you can get to that screen.

And once it's there, once the timer goes off, you can select it. And that way, you can make changes to your workflow or, in some cases even within the workflow itself. Because you're waiting for a screen to appear something, you can directly do that. Manual recording. Manual recording in simple terms provides the user a capability to include all those actions. With generally recording can capture.

It is often referred to as step by step recording. This includes activities such as keyboard shortcuts, using modifier keys like control all right clicks hovering of mouse reading text from screen finding elements and images on screen and are any activities provided within the activity panel. These are the options provided within the recording controller window that are explicitly added while the recording session is paused to temporarily pause the recording session and get the recording controller window for manual activities. We simply hit escape, or right click during the recording, and choose the desired activity. So for example, let's take the same example that we have taken in basic and the desktop recording. We start the recording by clicking on the recording button and we go and choose the font size to 16 for an example, and we also want to click on the underline option.

And then before start writing anything, say we want to know what is the current by default text or the font name that has been provided within the MS Word window. Right, so we hit escape, we don't save an exit the recording session yet. We choose the corresponding activity which are provided in here, which is let's say copy and copy text. And we select the element from where the where our font name is visible. Boom, click on that. And that's it, we can continue with the recording session, we can simply save an exit depends.

And in here, manual recording sample, we hit them to field and Enter. And that's it. Let's save and exit. Right, so the recording sequence has been generated. And if you check this out, it's got like the arrow where we need to click on the first activity, then it two clicks on the 16th number to choose the font size clicks on the underline, then the manual activity that was added is get text activity, right, which is gonna get the text from this particular UI element, and it's gonna store it in in a value, an output variable called editable text font. To see if that works correctly or not, we can always use right line activity and simply print this editable text file.

And last activity is type into activity with the data that we have provided. And to see if it works correctly or not, we just run it again. And you can see 16 you know, recording sample, that's it. And in the output we see calibre body, which means the data was taken correctly. Right? Pretty simple.

So, a few points. Like in many cases, the recordings seek the recorded sequence of activities on re executing might show an error stating that the element to be worked upon could not be identified. Right. So there is a possibility that this selector, right, which is four to select this element, which is this arrow of the font size, somehow Let's save our MS Word window is our Are the women we are executing the program? Somehow it says that this element is not available. Guess why?

There is a possibility that you know, because this is an MS Word window with the document title with the title of the window is document one. But if I close it, or let me open another one again, right? It automatically has title of document to I close and don't save it and I intend to write the data in here. Right? Then it won't work because UiPath is going to look for the element like this element as the first activity within this document word window, which doesn't exist anymore, which is not active at all. So what it's gonna do is it's gonna show an error, which we can show in here as well.

Just ran it. I'm hoping that it would work but it won't because the selector is not valid in here. And we are still waiting for the robot to work, it's the timeout, the default timeout is around 30 seconds. So it's going to wait for 30 seconds for the element to appear. And if it doesn't, it shows an error, we can change the timeout property as well in the Properties panel. And I'll show you how to do that as well in just a minute.

But you see, this is like one of the most common errors that this is one of the most common errors that we get in UiPath. And it says that the corresponding UI element couldn't be found. So what we can do is either we can play around with the selector by ourselves by, you know, choosing our, let's say, not choosing the document one word, because that's the name of the word file. But of course, it has to be a word application. So This needs to be there. And all the other elements like font font size are defining the particular element within the MS Word window where it needs to work or there is a better way, it's a very good trick to use attach to live element.

What it does is it once we like once we have another we're on re executing. Once we have another instance of an application open, we attach the selector to this and automatically the selector will be updated by comparing comparing the attributes between the previous one and this current one. And you can see so documents are a wild card has been used. So I mean, if you use document 1234, or 501 50, it's always going to work but it has to start the document name has to start with, you know with the word document in the MS Word. If you provide any other name like your ABC or any other Have your names, then it's not gonna work. Or you can probably put star all together.

Again, that won't be a good idea because you have to have some sort of naming convention even for your files. But you automatically get the updated selector so that it becomes more reliable, and it is able to identify the element correctly most of the times based on what the bot is going to be looking for. Web recording, as discussed briefly before, is used to automate web applications. It is very similar to the desktop recording, as the actions are enclosed within a task window container. It is worth emphasizing again, that selectors must be thoroughly checked in each activity and modified accordingly. To be able to re execute the program with no errors.

As most of the applications we use in any form today are web based This type of recording is frequently used and provides amazing capabilities. Hence, we'll take a rather complex use case. So consider that you want to get the prices of all sellers who have listed Rich Dad Poor Dad book on front page of amazon.com. Right here are the steps that will follow will choose the web recording option. And we'll consider we'll assume that the amazon.com web page is open. And we'll start with the recording.

So, in the all option, we go and choose only the books that way our search results would be even more, you know, crisper. And in the text box, we write down Rich Dad, Poor Dad. Let's empty the field or with a good practice, press enter and then we click on the search button and here we got now we're going to pause the recording session by hitting escape I'm not saving and closing the recording controller yet. And here are the results that I got for Rich Dad Poor Dad. Right now I suppose my business case is the case that I need to implement Is there a need to get the prices of all these different, you know, books that are listed on Amazon for this particular Rich Dad Poor Dad book, right all the different prices that are available. So what I do is, and this is one of the again very sophisticated features that we are going to talk more about in subsequent chapters, but we scraped this data.

So we're going to scrape the data from the web based application, which is the amazon.com here, and in here, we get an extraction wizard, asking us to select the first element that we need to scrape from it. So we hit next And we select this, we need to have the whole figure to if you want the whole figure, if you want just the, you know, the whole figure amount, like you know, just the not the decimal part but just the part before the decimal, then we can select this, but let's say we want with the dollar sign, and the decimal points as well. So we select this whole element. And it's asked us, it's asking us to select the second element as well, so that UiPath could recognize the pattern of extraction and can get all the subsequent values beneath it as well. So let's say I want to use this one now.

So I hit next. And in here, I select for Dotty. And now it's asking me to configure the columns like you know, if you want to give some specific name, or anything like you know, I want to give the name as price prices. And since these are URLs as well So it's asking us if you want to extract the URL of that particular data, or is it gonna be just the text? For this, we just want the text. So let's keep the prices as it is, we hit the next, and we get these figures, right, these are all the different figures that are available to us.

And what you can do is, if you want to extract more correlated data, let's let's say the file names or the authors or, or some information like you know, the delivery date, or more buying choices, options and stuff, you can select the correlated data and that will be extracted as a separate column. Or, if you want to have, you know, a limitation on the number of results, you can do that let's say you want just the first five, so you can select the first five and automatically once you finish only five. As soon as the data reaches the number five, the number of data reaches five, it's not an extract anymore. So let's keep it by default as hundred itself and we finish it It's asking us if the data for this prices is spanning across multiple pages. So what we can do is if we want to extract from, let's say, first hundred results, or first thousand results from different pages, we can select this as Yes.

And we can select the, it's going to ask us to navigate to the element where we can traverse to the next page of the web application, which is going to be this. And that way, automatically, the recorder The, the row bot is gonna traverse through different pages, extract the prices data and show us in a resulting table. Right? So you can imagine if you want to have first 5000 results, instead of doing this manually, how good of a sophisticated feature is provided within UiPath to automate this process. Right. So that's how we use web recording and the configuration and everything is done.

We don't want to save it. Like we don't want to go through multiple pages. We save it Exit, and here's the generated recording sequence. And you can check the, the whole workflow is pretty much like made by itself, you know, everything is done automatically. So you can say it like this, you know, the bot is already automating your manual processes. But to create the bar as well, we have an automatic process called automating process call recording, which makes our work even easier, even creation of board becomes easier.

Right? So you can see the different activities are generated for us it's selecting the books, it's selecting the Rich Dad Poor Dad data, it's clicking on this button and it's extracting the results. And the result would be shown in our data table, which is this abstract data table. If you want, you can use the for each row, you know loop and we can traverse through the whole data table we can either perform some computations or simply display the results right. So that How the web application is used. And quick notice that in some cases, format such as decimal points or special characters are not scraped.

This problem can be rectified by using predefined dotnet functions like replacing the spaces with decimal points, or you know, if there are some extra characters that are coming you can trim using the trim function and so on. So, it's good to you know, try out different data operations that we discussed. And you know, because there are going to be a lot of cases when you will have to play around with the data to get the most meaningful information out of it. Okay Citrix recording, another capability unfolded by UiPath for automation of virtual applications is provided in Citrix recording. Citrix recording relies heavily on image automations. For this, we first need to understand The concept of OCR.

So I'm gonna, let's say scrape, scrape and a screen. And this is the virtual environment that I have. I'm using a free software called TeamViewer, which is one of the most commonly used virtual environment applications. And in here, if I'm selecting here is the OCR. We were discussing this again in the OCR and the image automations chapter. But let's just take this into consideration that we selected the region and we want the OCR something called OCR to convert this image into text format, right?

So that's what OCR does, and the whole like each and everything we cannot directly interact with the UI elements within a virtual environment. So the UiPath studio or the our bot is going to consider The whole environment as an image, and we have to automate the image, the process have to be, you know, interacting with the image of the environment which is available in like any remote server. And that's how the automation and the processes are performed. So, OCR stands for optical character recognition. It is the process by which text provided in the form of images is scraped and read by an application. This text can of course further be computed and processed by employing data operations on them.

Over the years, OCR capabilities have evolved significantly. Earlier versions were able to recognize text in one particular font itself. But with technology advancements, today, it has matured to the extent of being able to identify the text from screen with an accuracy of over 95%. OCR has further enhanced the cognitive abilities within applications with footprints in my regard domains such as machine translations, data mining, sentiment analysis, pattern, recognitions, digitization, text to speech capabilities and much more. For overs, environments that are available remotely over servers, it becomes challenging to access its UI elements and perform automations. Luckily, UiPath has one of the best image Automation features.

The recorded controller, which I'm going to show in a minute, yes, right here doesn't necessarily provide a recording button, but rather the manual activities which can be added in a logical sequence as we discussed in the manual recording as well. And these can be worked upon a single session. Once all activities are added, the recorded sequence can be saved and further modified or executed from the workflow designer. The recording controller for virtual environments provides these activities Which are pretty self explanatory, like click image, which is right here, you know, it's gonna click on an image selected as a UI element from the screen by the user, or the screen scraping, which I just showed an example for, we can select and copy some text by selecting it first and then copying it from the image itself, and so on, alongside the activities within recording controller. Once we have saved the recorded session, we can add activities from the activities panel as well, for further computations.

We will be discussing this in greater detail in chapter 10. There are times when you have to grab text within UI elements or virtual elements, but the element changes its position every time. This makes the process of finding its selected difficult. Hence, we can use another thing called scrape relative wherein we'll be giving up Like the element where the scraping needs to happen and also another element which is going to be corresponding to the element from where the data needs to be scraped like you know in any in usually in any applications, you have a label name and you have the text field like any me name and then a text field which where you actually put in your name. So, the name label is going to act as the relative component of where the extraction process needs to happen and scrape relative helps us to make sure that the scraping is occurring at the correct position each time in case of image automations.

Okay. Also, I want to discuss another type called ienumerable ienumerable data type is I can show it to you In here, here it is. So I enumerable not for generic but for the system collections is a data type that facilitates collections right. A collection refers to the data structure that stores a group of values. Unlike arrays, collections, store objects, and objects are runtime entities with an associated state and behavior. These are generally used, like in here in system dot collections dot ienumerable.

And here, you can select in case of the generic ones. See in here you have the type string. So you can have any like the sequence could be of any data type, it could be a string, it could be of integer, or it could be as relative objects where you know, you're working directly on some object of an external application. And that's how the elements of collections are defined. And, like arrays or like lists, they can be traversed by simply using a for each loop.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.