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.