# Select Value by Index

This is a pre-built Action located under the **@Custom Element**. The functionality of this Action in Avo Assure is to select the object based on the index value specified in the input. The result is stored in the given dynamic variable for further use during test execution.

{% hint style="info" %}
The **Select Value by Index** action works only when the **VerifyExists** action is executed in a preceding step.
{% endhint %}

## Syntax

**Input Value**: `<ObjectType>;<VisibleText(Optional)>;<Index>;<index value>;<abs(optional)>`

| Argument                            | Description                                                                                                                                            |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>\<ObjectType><br>(Required)</p>  | Provide the object type you want to select from the application.                                                                                       |
| <p>\<VisibleText><br>(Optional)</p> | Provide the visible text associated with the object.                                                                                                   |
| <p>\<Index><br>(Required)</p>       | <p>Provide the position of the object you want to identify based on its sequence in the application.<br><strong>Note</strong>: Index start from 0.</p> |
| <p>\<index value><br>(Required)</p> | <p>Provide the numerical value you want to select from the dropdown or list.<br><strong>Note</strong>: Index start from 0.</p>                         |
| <p>\<abs><br>(Optional)</p>         | Provide the absolute XPath of the object you want to identify for this operation.                                                                      |

{% hint style="info" %}
**Note**:

* If the last argument **abs** is defined, the action executes using absolute identification based on the specified absolute XPath provided in the input.
* To skip an optional input value, use an extra semicolon (;).
  {% endhint %}

**Output Value**: `<Dynamic Variable>(Optional);<Dynamic Variable>(Optional)`

| Argument                                                    | Description                                                       |
| ----------------------------------------------------------- | ----------------------------------------------------------------- |
| \<Dynamic Variable>(Optional);\<Dynamic Variable>(Optional) | Both dynamic variable stores the status as **True** or **False**. |

### **Example 1: Selecting Value from a List using Index Positions**

In this example, we are explaining how to select values from a list or dropdown based on their index positions.

* **Action**: Select Value by Index
* **Input Value**: select;;0;2
  * The first argument (**select**) specifies the object type to be identified.
  * The second argument is left blank to skip an optional value.
  * The third argument (**0**) specifies the index of the list or dropdown when multiple matching elements are present.
  * The fourth argument (**2**) specifies the index positions of the values to be selected from the list or dropdown.
* **Output Value**: {Status}
  * The result of the selection operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the value is selected successfully.
    * **False**: If the value is not selected successfully.
* **Logical Explanation**: The **Select Value by Index** action reads the identification details from the **Input Value** column (**select;;0;2**). The action locates the matching list or dropdown element based on the specified object type and then selects the values present at the given index positions. The execution result of the selection action (True) is stored in the **{Status}** variable.

<figure><img src="/files/9S7HJLtnkPuhKuGcLaAy" alt=""><figcaption></figcaption></figure>

### **Example 2: Selecting Value from a List using Index Positions**&#x20;

In this example, we are explaining how to select value from a list or dropdown based on their index positions.

* **Action**: Select Value by Index
* **Input Value**: select;Last Month;0;2
  * The first argument (**select**) specifies the object type to be identified.
  * The second argument (**Last Month**) specifies the visible text of the object.
  * The third argument (**0**) specifies the index of the list or dropdown when multiple matching elements are present.
  * The fourth argument (**2**) specifies the index positions of the values to be selected from the list or dropdown.
* **Output Value**: {Status}
  * The result of the selection operation is stored in the **{Status}** dynamic variable, with the following possible values:
    * **True**: If the value is selected successfully.
    * **False**: If the value is not selected successfully.
* **Logical Explanation**: The **Select Value by Index** action reads the identification details from the **Input Value** column (**select;Last Month;0;2**). The action locates the matching list or dropdown element based on the specified object type and then selects the values present at the given index positions. The execution result of the selection action (True) is stored in the **{Status}** variable.

<figure><img src="/files/2z2ybISJ1t1IZkBL5Qo4" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.avoautomation.com/avo-assure/actions/web/custom-1/select-value-by-index.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
