Search Input Utils¶
Overview¶
SearchInputUtils provides methods to interact with searchable input components in Appian. Similar to SearchDropdownUtils, but for input fields that support filtering and selection from a dropdown list. Use SearchInputUtils when you need to type into a search field and select a matching option from the results.
Methods¶
selectSearchDropdownByLabelText¶
Select a value from a search input using exact label match.
Use this when you need to search and select from an input field that provides autocomplete or filtered suggestions. This method types the search term into the input, waits for the listbox options to populate, then clicks the matching option. Common in Appian forms for employee selection, user lookup, or any searchable entity.
Args:
wait(WebDriverWait): WebDriverWait instance with configured timeoutlabel(str): Exact label text for the search inputvalue(str): Exact text of the option to select from dropdown
Raises:
TimeoutException: If input or option not found within timeoutValueError: If input does not have 'aria-controls' attribute
Returns: None
Examples:
HTML:
<div>
<span>Employee Name</span>
<input role="combobox" aria-controls="employee_listbox" />
</div>
<!-- After typing -->
<ul id="employee_listbox" role="listbox">
<li role="option"><div><div><div><div><div><div><p>John Doe</p></div></div></div></div></div></div></li>
<li role="option"><div><div><div><div><div><div><p>John Smith</p></div></div></div></div></div></div></li>
</ul>
Python:
from robo_appian.components.SearchInputUtils import SearchInputUtils
from selenium.webdriver.support.ui import WebDriverWait
SearchInputUtils.selectSearchDropdownByLabelText(wait, "Employee Name", "John Doe")
selectSearchDropdownByPartialLabelText¶
Select a value from a search input using partial label match.
Use this when the search input label contains dynamic text or you only know part of the label. This method uses a contains match for the label, making it useful for labels with counters, dates, or other variable content. Otherwise behaves the same as selectSearchDropdownByLabelText.
Args:
wait(WebDriverWait): WebDriverWait instance with configured timeoutlabel(str): Partial label text (uses contains matching)value(str): Exact text of the option to select from dropdown
Raises:
TimeoutException: If input or option not found within timeoutValueError: If input does not have 'aria-controls' attribute
Returns: None
Examples:
HTML:
<div>
<span>Employee (1,234 total)</span>
<input role="combobox" aria-controls="employee_listbox" />
</div>
Python: