Appian Textbox
Use AppianPage.textbox(...) for ordinary text entry and searchable text-entry controls. Identify a textbox by its label, placeholder, or nearby header text.
A placeholder can be used when that is the natural identifier for the field:
page.textbox(placeholder="example@example.com").fill("user@example.com")
page.textbox(header="Item Description").fill("General details")
fill(value) replaces the current text and returns the same AppianTextbox, so calls can be chained. For a searchable textbox, use fill(...).select(...) to enter search text and choose a suggestion.
page.textbox("Employee").fill("John").select("John Smith")
page.textbox("Employee").fill("John").select(index=2)
The same operation can be expressed in one call. Suggestion index values are 1-based.
page.textbox("Employee").select(search_text="John", value="John Smith")
page.textbox("Employee").select(search_text="John", index=2)
page.textbox(placeholder="Start typing...").select(
search_text="Example", value="Example Result"
)
select(value=None, *, search_text=None, index=None, exact=True, timeout=None) requires exactly one of value or index:
valueselects a visible suggestion by displayed text. Matching is exact by default; useexact=Falsefor intentional partial matching.indexselects by 1-based suggestion position.index=1is the first visible suggestion andindex=2is the second.search_textoptionally enters the search criteria before selecting. Omit it whenfill()has already entered the search text.timeoutis expressed in seconds.Noneuses the component/framework timeout.
value and index are mutually exclusive. Calling select() with neither, with both, with an index below 1, or with blank search/value text raises a clear argument error. A searchable textbox with no results raises LookupError; an out-of-range suggestion index raises IndexError. After the suggestion is selected, select() waits for the action to complete and returns the same textbox.
Textbox component collection indexing remains zero-based:
Here [0] means the first textbox on the page, while select(index=2) means the second suggestion.
Common operations include fill(), select(), clear(), click(), is_visible(), is_enabled(), is_disabled(), value(), and wait_until_ready().
AppianTextbox
Bases: AppianInputComponent
Represent an Appian text field bound to a page.
fill
Replace the textbox value and return this component for chaining.
Searchable Appian textboxes are entered with keyboard events and retain
focus so a following select(...) can choose from their suggestions.
Ordinary textboxes preserve the normal blur-and-wait Appian lifecycle.
select
select(
value: str | None = None,
*,
search_text: str | None = None,
index: int | None = None,
exact: bool = True,
timeout: float | int | None = None
) -> "AppianTextbox"
Select a suggestion from a searchable Appian textbox.
value selects a suggestion by displayed text. index selects a
suggestion by 1-based position. They are mutually exclusive. When
search_text is supplied, it is entered before the selection; omit it
after chaining from fill(...).
is_enabled
Return whether the textbox is enabled, optionally waiting.
Omitting timeout performs an immediate state query. Supplying a
positive timeout in seconds waits up to that duration and returns
False if the textbox never becomes enabled.
Date fields
Use page.date(...) for Appian date fields rather than page.textbox(...).
Exact matching and visibility
By default, robo-appian uses a visible component whose displayed name or label exactly matches what you provide. Keep exact=True and visible=True for normal business automation. Use exact=False only when you intentionally want a partial name or label match. Change visible only when your scenario specifically requires a component that is not currently visible.
Timeout
timeout is expressed in seconds. Leave timeout=None to use the normal configured wait time, or provide a positive value when this particular action needs a different wait time.