WaitForReady Attribute not working on DoubleClick Activity


I have this web-based database where I select a filter to get one specific item out of this database.
The robot should doubleclick on the filtered item. However, the doubleclick is sent before the page is fully loaded, resulting in an error. (there’s no line there yet to doubleclick on)

The attribute “WaitForReady” is set to “Complete”, and the timeout is set to 30secs.

At this point, I only get this working when i set the “DelayBefore” to 10secs, but this is slowing the whole process down… Most of the time, the page will load faster and it will not need these 10 seconds, but sometimes, it may accur that these 10 seconds are insufficient.

Anyone who can shed a light on this?

1 Like

Hey @Koen_Hendrikx,

Welcome to community.

Hope you are using the click activity with no timeout…

It will basically wait for element until the timeout reaches the threshold.

Thanks :slight_smile:

Hi @Koen_Hendrikx,
Use TimeoutMS instead of delay before.

Target.TimeoutMS - Specifies the amount of time (in milliseconds) to wait for the activity to run before the SelectorNotFoundException error is thrown. The default value is 30000 milliseconds (30 seconds).

Increase the timeoutms value.


Sorry for not being clear in this (my first question…)

It is not the exception that causes the error, the database does. De robot tries to click before the element is ready. This usually takes about 2-3 seconds, but depending on the speed of the vpn connection, it can take a long time…

I thought the WaitForReady attribute on “Complete” made the robot wait until the element was completely loaded before the doubleclick activity is sent. But this doesn’t seem to be true. The doubleclick activity fires before the element is ready.

Hi @Koen_Hendrikx,

The alternatives:

  1. One of the other ways to get this to work on slow updating UIs is by using. Element exists activity.
    Then use the Boolean flag from its result.
    If Element Exists, Then do next action, else exception.

  2. Another way is also to use the retry scope. Where you use the Element exists as the condition. If the element does not exist then the retry scope can be designed to perform the same action / actions which can trigger the element to show up.

Both of these can be altered to get a desired timeout as well.

Hi @Koen_Hendrikx,
If you give waitForReady is complete also activity will wait upto 30 seconds only, if applications slow we need to increase the size of timeoutms value.

Make it 15000, so bot will wait upto 15 sec,if inbetween itself found bot will click and continue further.