> For the complete documentation index, see [llms.txt](https://docs.avoautomation.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.avoautomation.com/avo-assure/actions/web/custom-1/get-value-by-index.md).

# Get Value by Index

This is a pre-built Action located under the **@Custom Element**. The functionality of this Action in Avo Assure is to retrieve the selected value from the dropdown or list specified in the input. The extracted value is stored in the given dynamic variable for further use during test execution.

{% hint style="info" %}
The **Get 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 which you want to retrieve the select from the dropdown or list.                                                               |
| <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 retrieve 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                                                                 |
| ---------------------------------------- | --------------------------------------------------------------------------- |
| <p>\<Dynamic Variable><br>(Optional)</p> | This dynamic variable stores the retrieved value from the dropdown or list. |
| <p>\<Dynamic Variable><br>(Optional)</p> | This dynamic variable stores the status as **True** or **False**.           |

### **Example 1: Retrieving a Value from an Object using Index**

In this example, we are explaining how to retrieve a specific value from a given object based on the provided index value on the application.

* **Action**: Get Value by Index
* **Input Value**: select;;0;3
  * 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 object when multiple matching elements are present.
  * The fourth argument (**3**) specifies the index position of the value that needs to be retrieved from the object.
* **Output Value**: {Value}
  * The retrieved value from the specified index is stored in the **{Value}** dynamic variable.
  * If a second output variable is defined, it stores the execution status with the following possible values:
    * **True**: If the value is retrieved successfully.
    * **False**: If the value is not retrieved successfully.
* **Logical Explanation**: The **Get Value by Index** action reads the identification details and index value from the **Input Value** column (**select;;0;3**). The action locates the matching object based on the specified object type and index and fetches the element present at the specified index position within the object. The retrieved value is stored in the **{Value}** variable.

<figure><img src="https://2174257472-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk8QZzXZMIJSStKAzDSTu%2Fuploads%2Fy05OADVIOs97cnh4cwT0%2Fimage.png?alt=media&amp;token=4fe2024a-703c-4872-be79-63d5d58d5604" alt=""><figcaption></figcaption></figure>

### **Example 2: Retrieving a Value from an Object using Index with Optional Parameters**

In this example, we are explaining how to retrieve a specific value from a given object based on the provided index value using optional identification parameters.

* **Action**: Get Value by Index
* **Input Value**: select;Fund;0;3
  * The first argument (**select**) specifies the object type to be identified.
  * The second argument (**Fund**) specifies the visible text of the object.
  * The third argument (**0**) specifies the index of the object when multiple matching elements are present.
  * The fourth argument (**3**) specifies the index position of the value that needs to be retrieved from the object.
* **Output Value**: {Value}
  * The retrieved value from the specified index position is stored in the **{Value}** dynamic variable.
  * If a second output variable is defined, it stores the execution status with the following possible values:
    * **True**: If the value is retrieved successfully.
    * **False**: If the value is not retrieved successfully.
* **Logical Explanation**: The **Get Value by Index** action reads the identification details and index value from the **Input Value** column (**select;Fund;0;3**). The action locates the matching object based on the specified object type, visible text, and index and fetches the element present at the specified index position within the object. The retrieved value is stored in the **{Value}** variable.

<figure><img src="https://2174257472-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk8QZzXZMIJSStKAzDSTu%2Fuploads%2FaoQpeRQFx3AmPLYoD6pq%2Fimage.png?alt=media&amp;token=2282154e-403a-4ad9-a152-3c39f08d57a6" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
