Skip to main content

Capture a UI Snapshot (ui_element.snapshot)

This function is available in versions after 20260507

Declaration

snapshot, err = ui_element.snapshot([ options ])

Parameters

Returns

  • snapshot Table. Current UI element list with snapshot methods. nil on failure.
  • err String. Failure reason.

Snapshot Methods

element = snapshot:find(selector)
elements = snapshot:find_all(selector)
ok, info = snapshot:click(selector_or_element [, options ])
ok, info = snapshot:scroll([ selector_or_element, ] direction [, options ])
ok, info = snapshot:input_text(selector_or_element, text [, options ])
ok, info = snapshot:set_text(selector_or_element, text [, options ])
ok, info = snapshot:clear_text(selector_or_element [, options ])
ok, info = snapshot:toggle(selector_or_element [, options ])
ok, info = snapshot:set_checked(selector_or_element, checked [, options ])
ok, info = snapshot:set_value(selector_or_element, value [, options ])
ok, info = snapshot:increase(selector_or_element [, options ])
ok, info = snapshot:decrease(selector_or_element [, options ])

Description

A snapshot is a one-time result, useful for repeated lookups or continuous actions on the same screen. After navigation, popups, scrolling, or content refresh, call snapshot() again. Common snapshot fields include elements and count.

Example

local ui_element = require("ui_element")

local ui, err = ui_element.snapshot({
max_level = 2,
})

if ui then
local search = ui:find({
title = "Search",
role = "text_field",
})
if search then
ui:set_text(search, "XXTouch")
end
else
sys.toast(err)
end

Note: Uses non-chapter API sys.toast.