What Uipath activity to use if I want the bot to identify the right place to click first

Hi, I want to build a bot to adjust a bill in the system. After the bot copies Hong Kong office’s correct bill amount, I like the bot to find the Hong Kong office’s old bill amount in the software and replace it. What activity can I use so that the bot can identify the correct office and then input the new bill amount for that office?

Hi,

For now, can you try to use UiExplorer and check which attribute for the target element can be used.

If UiExploer shows colName and rowName correctly as the above image, we can use TypeInto activity using them as selector.

Regards,

Hi @stellalai8625 , Welcome to the forums.

Sorry, but are you asking that the bot first copy the amount from the source office (Hong Kong) and then find the row for the destination office (Beijing) and paste that value there?

In any case, the bot has to inspect the value in first column first to identify the office. Once it finds that row, the 4th column of that row will be your Bill Amount location to either read text by using the Get Text activity or write text by using the Type Into activity.

Can you generate the selector for the first column and 4th column of the Hong Kong office and show us what you come up with?

thanks

@Yoichi @AndyMenon
Thank you for the response!
I was trying to copy the hongkong office amount from an excel file, then paste that amount to the hongkong office location in the software. The offices have to match. The screenshot is from the destination software. Yes you are right, basically the bot will have to inspect the first column, locate “Hongkong” and then find the 4th column and paste the hongkong amount there. See screenshot below.

(to be continue)

@Yoichi @AndyMenon
But the problem is, I found the selector shown in the Ui Explorer does not show the text “Hongkong”. See the selector below when I indicate element on Hongkong. It was using idx number instead of an actual text.

@Yoichi @AndyMenon

Did you open the UiExplorer application independently and see if you can drill down to check if Hong Kong appears anywhere?

If not, may be you can try to use Data Extraction Wizard and extract that tabular grid into a Data Table.

Inspecting the Data Table would get you the row number on which Hong Kong appears which you can then feed to the idx attribute of the selector?

Thanks

Thank you! The data extraction wizard you mentioned, is it the data scraping button on the top of the studio? Do you mind giving me more detail regarding once the bot scraped out the table and finds out that the “Hongkong” text is on the third row, how does the bot relates the first column on the third row to the 4th column of the third row (the place where the bot input the number) in the software? They are two different spots on the software, I don’t understand how the bot can relate these two spots together.

Yes, the Data Scraping Wizard is what I was talking about.

Well you clicked on the first column to get the selector for that cell.

So, let us say you are successful in getting the grid into a Data Table using Data Extraction Wizard. In the most simple approach:

  1. You loop through that Data Table and check Column 1.
  2. If that column is Hong Kong you know what the row number of Hong Kong is.
  3. If you can get that value and then feed it into your selector for Hong Kong, theoretically the Robot must be able to identify that row.

Example: Your selector for Hong Kong Row at run time change to:

< .... role='client', idx='{{row_number_for_HongKong_in_data_table}}' />

If that works, it means that you can identify the Hong Kong/Beijing Rows no matter where they appears on the grid.

Similarly, you can identify Beijing as:

< .... role='client', idx='{{row_number_for_Beijing_in_data_table}}' />

Ok, now for the columns on these two rows:

You have to craft the selector for the 4th column of both these rows by deriving the selector for the fourth column just as you did for the first .

There has to be a relationship between the first & fourth column of that row. You will know that only if you compare the selectors for the first and fourth columns side by side.

Hope this helps.