I’m currently working on a piece of a process that requires me to read in data from a column in an excel data table and cross check that column’s data to check boxes available on a website form, selecting the proper check boxes that are present in the Excel Data Table.
The Excel Data Column and Website forum’s data is always changing so I cant one to one map.
My current process reads the excelDataTable, saves that to a string. Splits that string into an array, using string manipulation. Then the Website Forum’s Checkboxes are scrapped from the page and saved into a DataTable as well. The process then checks if there are matching items at each point as it loops through both tables. Works perfectly and is Logging matches as I would like it.
The next step is to move away from Logging and actually select the correct check box as it appears in the excelDataTable.
My first thought was to initialize a new variable for a checkBoxID (checkBoxID = checkBoxID + 1) as I loop through the lists; This should locate the checkBox position as items are found; However I cant get the selector to recognize the variable when trying to call it in Click ->Target → Selector area.
Does anyone have any advice on this? All recommendations are welcome.
You are good so far…great
So i would like add some points that may help you…
Once you are comparing the to datatables…if they are matched, create a status a column in any one of the datatable by
–use a add data column activity with a column name and datatable name…
–once you compare the value with a if condition and a for each row loop, use a assign activity to a add a value the corresponding row of the newly added column…
–now you made a status say MATCHES…
After logging you have click those chck box in the page…for that you can you can again use a for each row to iterate through the new column added datatable and assign the value in each and every row of that newly add column to a variable of string type
–now still once after assigning and still being in for each row loop…use a find text position activity by passing the above string variable as input and get the output of type uielement…
–now pass this uielement as input to CHECK activity, that would check the boxes if they are unchecked still…
For more info on check activity
Thats buddy you are done
Kindly try this and let know whether this works or not buddy
Cheers @Jarzzz
Thank you Palaniyappan! This method makes complete sense. Using different logic to get there but should equal the same result.
Currently running into a Runtime Error with FindText. Can you advise?
19.4.2+Branch.master.Sha.e17a3bedca2a7da0d0b716b5f8f765d1d5ef1ddc
Source: Find Text Position ‘DIV’
Message: The method or operation is not implemented.
Exception Type: System.NotImplementedException
An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.NotImplementedException: The method or operation is not implemented.
at UiPath.Core.Activities.FindText.EndExecute(NativeActivityContext context, IAsyncResult result) at UiPath.Core.Activities.AsyncNativeActivity`1.BookmarkResumptionCallback(NativeActivityContext context, Bookmark bookmark, Object value)
at System.Activities.Runtime.BookmarkCallbackWrapper.Invoke(NativeActivityContext context, Bookmark bookmark, Object value)
at System.Activities.Runtime.BookmarkWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
**Edit - Looks like Find Text Position activity can only read the first word…?