Type activity in a software or web form using Simulate Type

studio

#1

How to use type activity for entering data in a software or web form in parallel?
I tried entering data using hotkey tab however it returns symbols placed after space in the first column.
For ex. the row has column 1= 0123244565 and Column 2 = asdjkhf Then Using Col1+"[k(tab)]"+Col2 puts in the first column in the end.

Don’t know why it’s doing.
Also, tried using Parallel but it enters data serially.
Please share your expertise, Thanks!


Populate multiple fields at same time
#2

Hi,

Could you please attach workflow.


#3

Main.xaml (68.9 KB)

This is the workflow, In the last part of the flow, I am trying to enter the data in parallel in the software. However, did not get the expected results and efficiency.


#4

If you want to make entering data faster (which I assume was the goal):

  • Set DelayBefore and DelayAfter to as low values as you can (check if it still works - application you’re typing to might get confused if it’s too fast). Defaults that are used if you leave those empty are 200ms before and 300ms after. This can quickly add up if you have a lot of small fields to fill in.
  • Use SendWindowMessages or SimulateType flags. It’s much faster than emulating the keyboard

I’m surprised it worked at all - using hardware emulation to type into multiple fields at once is risky.
Doing a quick check, it seems that TypeInto fortunately keeps the actual typing part as an atomic action (even with delay between keys), otherwise it could end with complete gibberish.

Parallelization is good for actually long running tasks that do not involve interacting with UI - web service calls, heavy DB queries, I/O operations etc.
While it seems it does support being used with UI-centric activities as well (TypeInto is async, who knew?) I personally don’t see a point - added risk of it messing up (most applications are designed with humans in mind - fields are filled in order etc.), increasing design complexity of the workflow (horizontal scrolling…) and parallelization overhead makes it not worth it in my book, but if you find a way of it working for you, that’s great!


#5

Thanks for the solution, these are the results…
a. Default Method: Without any modification in delay time before or after takes 23 seconds to fill all the 16 columns
b. Send Window Messages: same time
c. With customization in delay before and after time for each type activity takes 18 seconds since accuracy is of prime importance thus don’t have much scope to reduce the delay
d. can’t try simulate type flag since it doesn’t allow special characters
e. Col1+k(tab)+… does the job in 7 seconds however doesn’t accurately fill the cells as described earlier

Not able to figure out the reason for failure of entering multiple columns with tab key. Also, would it be wise for uipath to have a feature in future release for entering data in multiple cells in parallel (since it can improve efficiency by miles) or I may not be aware of the possibility in current version


#6

Even without parallelization it should be able to work faster…
One of the RPA challenges was filling in 10x7 fields, it could be done in ~7.5s:

It seems that your bottleneck isn’t typing speed, but element identification.
You could try the following:

  • Add an ElementScope for selector <wnd ctrlname='SplitContainer1' /><wnd ctrlname='SplitContainer2' /><wnd ctrlname='SplitContainer3' /><wnd ctrlname='SplitContainer4' /><wnd ctrlname='Panel1' /><wnd ctrlname='TableLayoutPanel1' /> and put your TypeInto’s in it
  • Change your TypeInto selectors to encompass new relative point (f.e. for first input it will now be just <wnd ctrlname='txtINNew' /><ctrl role='editable text' />

This should eliminate the need to iterate whole UI tree for each action and potentially save quite some time.

Can’t help here, different applications react very differently :frowning:

Not sure if that would help (see my previous post), as well is it would probably not work with most applications. I don’t think it would be worth the dev and maintenance cost.


#7

Thanks Andrzej! for your valued inputs, will try the solution n share results.


#8

Here are the results:
Type into activity properties:
Delay before - 200 and after 100
Delay between keys - 1
simulate click type for all except two columns (saves most of the time - 8)
Selector - Used all elements in first and then only dynamic elements (didn’t save any time but still an efficient way)

Also, I kept the excel sheet open in background where the process flow stores the status (Saved 3 sec)

Initial time consumed in one row - 20 secs
After the above mentioned tweaks - 8 secs

Would like to know which special characters are not permitted to use in simulate type because initially i didn’t use thinking it might not work with currency symbols, commas, semicolons, brackets etc. but it did. Also, I am thinking of running multiple instances of Uipath and the CRM software in parallel using different user accounts for parallel processing. Would like to know if it’s possible with Uipath.

Thanks Andrzej for your exceptional inputs :slight_smile: