Extract Table Data
Reads an HTML table or a desktop grid into rows keyed by column name, optionally following a Next target across pages.
Behaviour
Risk: Medium · Idempotent: No · Safe to retry: No · Recovery: Not replayed after a crash
Package UI Automation activities VeloPhex.UIAutomation.Activities 0.7.1-rc.12 · Supported (Core profile) · type id velophex.ui.extractTableData
Windows · Needs an interactive desktop session
Properties#
Input#
Target#
Target · String · Optional · Default: Not specified in package metadata
The element to act on: a repo: reference into the object repository, or the target captured with Pick element.
Required when InputElement=.
Header#
Header · String · Optional · Default: Not specified in package metadata
Which row names the columns: Auto (the table's header row, if it has one), FirstRow, or None (every row is data; columns are Column1, Column2, …).
Allowed values: Auto, FirstRow, None.
Columns#
Columns · String · Optional · Default: Not specified in package metadata
The columns to keep, in this order: names or 1-based numbers separated by commas, e.g. Order, Customer or 1, 3. Empty keeps every column.
Max rows#
MaxRows · Int32 · Optional · Default: Not specified in package metadata
At most this many rows, across all pages. Empty or 0 reads every row.
Next target#
NextTarget · String · Optional · Default: Not specified in package metadata
The button or link that shows the next page of the table. Empty reads only the current page. Reading stops when it is gone or disabled, when clicking it no longer changes the table, or at Max pages.
Max pages#
MaxPages · Int32 · Optional · Default: Not specified in package metadata
The most pages to read, the first one included, when a Next target is set. Empty or not positive means 10.
Input element#
InputElement · String · Optional · Default: Not specified in package metadata
An element an earlier activity found (its Output element, or an item of Find Elements' Elements), used instead of Target.
Wait for page load#
WaitForPageLoad · String · Optional · Default: Not specified in package metadata
What to wait for before looking for the element: None; Interactive (page parsed, window accepts input); Complete (page fully loaded, application not busy). Empty uses the enclosing scope's (Interactive by default).
Allowed values: None, Interactive, Complete.
Delay before (ms)#
DelayBefore · Int32 · Optional · Default: Not specified in package metadata
How long to wait before the activity starts, in milliseconds.
Delay after (ms)#
DelayAfter · Int32 · Optional · Default: Not specified in package metadata
How long to wait after the activity has finished, in milliseconds.
Alter disabled element#
AlterDisabledElement · Boolean · Optional · Default: Not specified in package metadata
Act on the element even when it is disabled. In a browser its disabled state is removed first; on the desktop the action is sent to it as it is.
Cursor motion#
CursorMotion · String · Optional · Default: Instant
With hardware input: Instant places the cursor on the element at once; Smooth moves it there in visible steps, as a person would.
Allowed values: Instant, Smooth.
Session#
Session · String · Optional · Default: Not specified in package metadata
The session id from a Use Application/Browser scope. Empty uses the enclosing scope's session, or outside a scope the most recent matching session.
Timeout (seconds)#
TimeoutSeconds · Int32 · Optional · Default: Not specified in package metadata
How long to keep looking for the element or window. Empty or not positive means the same as the enclosing Use Application/Browser scope, or outside a scope the project default (30 seconds).
Highlight before action#
HighlightBeforeAction · Boolean · Optional · Default: Not specified in package metadata
Draw the highlight around the element before acting on it.
Options#
Target values#
TargetValues · IReadOnlyDictionary<String, String> · Optional · Default: Not specified in package metadata · Advanced
Values for the {{name}} slots in the target's attributes, e.g. a dictionary with "invoice" for {{invoice}}. Values are matched as literal text.
Fallback methods start after (s)#
FallbackAfterSeconds · Double? · Optional · Default: Not specified in package metadata · Advanced
How long the first enabled targeting method looks alone before the other methods join it. A fallback method wins only with a single match. 0 tries every method from the start. Empty keeps the target's setting (3 seconds by default).
Output#
Rows#
Rows · List<Dictionary<String, String>> · Output
The rows read, each a dictionary of column name to cell text (in JSON, an array of objects).
Column names#
ColumnNames · List<String> · Output
The names of the columns kept, in order.
Row count#
RowCount · Int32 · Output
How many rows were read.
Pages read#
PagesRead · Int32 · Output
How many pages were read, the first included.
Data table#
DataTable · DataTable · Output
The same rows as a data table whose columns are text, for workflows that work with data tables.
Output element#
OutputElement · String · Output
The element this activity found, for later activities' Input element. Valid while its session is open.
Rules#
- Must be inside Use Application/Browser.
- Set only one of: Target, Input element.
Retry and risk#
This activity is not marked safe to retry: if it fails partway, check whether its work already happened before running it again. If a run is interrupted and the outcome of a step is unknown, the step is never retried automatically (what to do). How activities declare this: characteristics, retries and risk.
Every activity also has the engine's common properties: Timeout and Continue On Error.
Related activities#
- Capture Screenshot
- Check App State
- Choose Option
- Click
- Click Text
- Drag and Drop
- Element Exists
- Find Elements
Generated from VeloPhex.UIAutomation.Activities 0.7.1-rc.12. Category: UI Automation › Element. Keywords: ui, automation, element, extract, table, data, rows, columns, scrape, grid, pages, next.
Properties
Input
Options
Output
Rules
Retry and risk
Related activities