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 · 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.

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