Duplicate selector for different field


#1

Hi All,

While developing RPA I AM FACING ONE issue where in one case I got exact same selector for 3 field and I have to put 3 different value into those filed respectively. And application is into java applete(Finnoe). Does anyone have already work on as such issue if yes then pls help.


#2

Hi.

Use UiExplorer and select the element, then check the right hand side for any attributes that are different.
image

If you can identify a difference there, then check the box to include the attribute that is different and you can uncheck others that are the same. Usually, the aaname or name are good attributes to look at using. If the selector in your workflow is a partial selector (meaning the first line is omitted because the activity is inside an Attach Window or Open Browser), then copy all lines except the first line so it stays a partial to your activity. If it’s a full selector then copy entire selector to your activity.

I hope this is helpful.

Regards.


#3

Hey @H-Rishi,

Yes and yes :slight_smile: UiPath is all about getting good selectors. Try to be as creative as possible to get some uniqueness on selector and try avoiding idx. If there is aaname using UiPath Explored like @ClaytonM suggested you use, then that will get you want you want.

In some cases, some classes help as well - even if everything else is the same, dynamic classes like “ng-untached” helps as you enter information, it changes real time and keeps the selector going even if it’s same (hope this makes sense).

If all else fails, use tabs to enter information, \t enter info \t \t \t enter info \t enter info, etc :slight_smile:

Hope this helps.


#4

Clayton thanks. I have tried this but no success as of now. the problem is this a java applete and the behavior of application is wierd on the window 2012 server. As u have mentioned I got I’d for field vtxtfield201,vtxtfield202 and vtxtfiele205. but on every run it got change And I cannot put * ( vtxtfield* ) as I have to fill 3 field sequentially.
Currently I and using Citrix automation to perform the task.


#5

Hi.

I’m not really sure, but there are few things you can try.
—use UiExplorer to identify any other attribute that you can use other than “ID” which is less likely to change, then you can use that instead.
—or use Find Text or Click Text. You can also use the offset to shift the click over to the textbox.
—or use Anchor activity, although I don’t have a ton of experience with that one.

Regards.


#6

Hi @H-Rishi

Are you sure that the fields don’t have a unique number (1, 2 and 5)?

Wouldn’t a selector with the following wildcard work for the first field?
vtxtfield*1


#7

Yes text field is having I’d name as vtxtfield01 and vtxtfield02 but after refreshing the application or saving the current record and moving to next it get changes to some random number i.e vtxtfield24 and vtxtfield25.

Application on which we are trying to automation is java 6 base applete and many UIpath activity not working on it like select item.

Now we have using image base automation for those perticular fields.


#8

@H-Rishi

For one of my automations I also struggled with Java fields that did not have precise selectors. But because those fields only ever vary in their initial value, but always have the same relations between their virtualNames, I handled it like that:

  • use Get Attribute on the first field on the page (top left), in your case I would get the Attribute name that will return “txtxfield01”
  • extract the number from the selector with a simple regex and assign that to a separate variable:
    selectorNumber = System.Text.RegularExpressions.Regex.Match(yourExtractedAttribute,"\d+").ToString
  • you can then see the relations between the fields, increment that numerical value as much as it needs to be to reach another field and make your selector with a variable.

In this case, it will not matter if the first field you select is 01 or 24 or anything else, as you will only need to set your other selector as yourExtractedNumber+1

I hope it helps :slight_smile: