In our web UI automation, we are dealing with multiple types of tables where data needs to be inserted/filled (for example: dynamic web tables, editable grids, tables with input fields, etc.).
I understand that Table Extraction is primarily designed for reading/extracting data from tables.
My questions are:
What is the best practice to handle different table structures when the requirement is to insert or update data?
Is Table Extraction ever recommended as part of a table-fill strategy (for example, to identify row/column positions before inserting data), or should it be strictly limited to data extraction?
What alternatives are commonly used for table filling?
Anchor-based selectors
Dynamic selectors with row/column logic
Inject JS / UI automation loops
Any UiPath activities or frameworks recommended for this?
Looking for guidance or real-world patterns that scale well when table structures vary across applications.
Use Extract Table Data activity first to get existing rows into a DataTable. Loop through it to find target row index by matching a unique column (e.g., ID).
Or use: Find Children, For Each UI Element, CV Extract Table Data, Inject JS for bulk (document.querySelectorAll(‘tr’)[index].querySelector(‘input’).value = dat
Best way to do extract table is highlight and rename the column names, click at next page if any and look at the meta data as well just to verify.
For unstructured tables you have to make a workaround, you can always make a good combination of one anchor and strict selector never do fuzzy selector - will end up with false positives. Fuzzy should be added with a low percentage like 0.1-0.3 if needed.
Happy automation
Table Extraction is primarily meant for reading data, not for inserting or updating values. It is generally not recommended as part of a table-fill strategy, except in limited cases where it’s used only to identify row positions based on a business key.
For table filling, common and scalable approaches are Anchor-based selectors, Dynamic selectors with row/column logic, Business-key-driven row identification, JavaScript injection for complex modern web grids .
In practice, teams separate table reading and table writing concerns and build reusable workflows for row detection and cell updates. This aligns with UiPath and scales better across varying table structures.
Table Extraction is mainly for reading and isn’t ideal for filling. For inserting/updating data, use dynamic selectors with row/column logic, anchor-based selectors, or JS injection. A common pattern is keeping your input data in a DataTable, looping through it, and filling table rows dynamically, optionally using extraction for headers as reference.