How to slow down the bot?

Hi! Thank you very much for reading my problem and your help.

My problem is that I have composed a robot to fill in a web form. This web form varies the required fields to be filled in, not the shape of the form, depending on some data the user enters. For example, if it detects that the id-number corresponds to a enterprise, it will ask for the “name” of the company, while in the case the id_number refers to a person, it will ask for “name” and “surname”.

This mechanism causes the web form to be much slower than my Uipath robot, and this is causing me several problems (the robot fills in fields that exist but will change somehow given the data introduced in previous filed, etc…).

My question is, is there any way for the bot to acomodate to the actual speed of loading of the web form?

Thank you very much,

César

Hi,

I understood the issue is due to application slowness. We can achieve this by using conditional waits in uipath.

We have to provide maximum dealt time for the conditional wait so that if application responds quickly it would enter the data in the text field or else it would wait for max wait time then it will throw error.

Use check app state activity or element exist to create conditional waits in uipath.

typical building blocks for synchronizing the bot on browser/application are

  • element exists
  • retry scope activity / modelling of a custom retry scope
  • element appears / vanish

Composing these activities along with others we can implement steps where the Bot is defensively and also dynamicly we wait for the UI. We would not recommend handling such a task by only adding delays on the flow.

I tried these methods but they are too “artistic”, and by that I mean that they do not result to be very reliable. It seems that the web page is fully loaded, but somehow, when I fill in some boxes (for example, client_id) the page seems to reload again (in the case of client_id, the logic of mandatory boxes is different depending on if id starts with a character (a-z) or a digit (0-9)). It does not change the position of fields, but the page’s code is different. So, if the bot starts to write a group of characters in them (and this is what happens if I only use a Element Exists activity to detect if the box is in place), sometimes the page erases all that was written down, because it is actually downloading again the page, or at least, those boxes.

So, it would be very useful to me if there was a way to detect when a page, or a box, is still loading or instead has stopped the process of loading. Is it possible?

Thank you very much all of you for your help,

César

Set WaitForReady to complete in the project defaults (which avoids having to set each activity manually).

How do I do that Paul? I am quite new to Uipath…

Thanks,

César

Hello @ccrespo9669 , you can do it on UI Automation activities like Click, Type Into, etc. Access to the properties of this type of activities, and you will the property WaitForReady, where you can select None, Interactive or Complete.
To avoid to do this manual step for each activity, you can access to Project Settings, and set WaitForReady to Complete by default on all activities.

Thank you Marcelo, but it does not work. What happens is that the web page seems to open before I can see it on screen. I have set most activities to start only when the boxes are ready, but it looks like the robot can see the boxes, although I cannot see them in the browser. The browser appears to be white until I pass the mouse over the icon of Studio in my bottom apps bar, and when I do so, the problem is that several activities that should have ocurred (even those as Element Exists) seem to have ocurred for Uipath but actually they have not. It is very strange and I do not know how to scape from this unstability.

Hi,

I understood that uipath is able to recognise the ui elements even they don’t appear on the screen or it is white screen.

But there is a solution for this we have to capture the ui element when it is visible in the UI and by using ui explorer you have to identify which attribute is showing the visibility true option.

In our case if it is not visible and white screen the attribute should give result false for the visibility.

Use Ui explorer to identify this attribute and use get attribute activity to get the value of the attribute and use if condition to check if it is present and visible or retry Two to three times until you get the screen visible. Just thought from my side on the issue. Thanks.

I will try. Thank you Kirankumar.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.