Todos os produtos
Search
Central de documentação

AgentBay:Classe UI

Última atualização: Jun 29, 2026

Descrição

A classe UI fornece métodos para interagir com elementos de interface no ambiente em nuvem do AgentBay: recuperar elementos, enviar eventos de tecla, inserir texto, realizar gestos e capturar telas.

Método

Descrição

Ambiente

Linux Computer Use

Windows Computer Use

Browser Use

Mobile Use

Code Space

click

Clica nas coordenadas especificadas da tela. Compatível com cliques esquerdo, central e direito.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

input_text

Insere texto.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

send_key

Envia um pressionamento de tecla. Compatível com teclas Android como HOME, BACK e volume.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

swipe

Realiza um gesto de deslize das coordenadas iniciais até as finais durante uma duração especificada.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

screenshot

Captura a tela da sessão e salva em uma URL do OSS especificada.

Compatível

Compatível

Compatível

Compatível

Não compatível

list_root_windows

Lista todas as janelas raiz com seus respectivos ID de janela, título, ID de processo e nome do processo.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

get_active_window

Retorna informações sobre a janela ativa.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

activate_window

Ativa uma janela específica.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

maximize_window

Maximiza uma janela.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

minimize_window

Minimiza uma janela.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

restore_window

Restaura uma janela ao seu estado normal.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

close_window

Fecha uma janela.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

resize_window

Redimensiona uma janela para a largura e altura especificadas.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

fullscreen_window

Define uma janela para o modo de tela cheia.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

focus_mode

Ativa ou desativa o modo de foco.

Não compatível

Compatível

Não compatível

Não compatível

Não compatível

get_all_ui_elements

Retorna todos os elementos de UI do dispositivo, incluindo elementos não interativos.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

get_clickable_ui_elements

Retorna todos os elementos de UI clicáveis.

Não compatível

Não compatível

Não compatível

Compatível

Não compatível

Propriedades

Nome da propriedade

Descrição

HOME

Tecla Home (3)

BACK

Tecla Back (4)

VOLUME_UP

Tecla de aumentar volume (24)

VOLUME_DOWN

Tecla de diminuir volume (25)

POWER

Tecla Power (26)

MENU

Tecla Menu (82)

Métodos

getClickableUIElements - Obter elementos de UI clicáveis

Golang

func (ui *UI) GetClickableUIElements(timeoutMs int) (*UIElementsResult, error)

Parâmetro:

  • timeoutMs (int): Tempo limite em milissegundos. O padrão é 2000 ms se <= 0.

Valores de retorno:

  • *UIElementsResult: Contém os elementos de UI clicáveis e o ID da solicitação.

  • error: Erro caso a operação falhe.

Estrutura UIElementsResult:

type UIElementsResult struct {
    RequestID string      // A unique request identifier for debugging.
    Elements  []*UIElement // An array of UI elements.
}

type UIElement struct {
    Bounds     string       // The bounds of the element.
    ClassName  string       // The CSS class name.
    Text       string       // The text content.
    Type       string       // The element type.
    ResourceId string       // The resource ID.
    Index      int          // The element index.
    IsParent   bool         // Indicates whether the element is a parent element.
    Children   []*UIElement // The child elements.
}

Python

def get_all_ui_elements(timeout_ms: int = 2000) -> List[Dict[str, Any]]

Parâmetro:

  • timeout_ms (int, opcional): Tempo limite em milissegundos. Padrão: 2000 ms.

Valor de retorno:

  • List[Dict[str, Any]]: Todos os elementos de UI com detalhes de análise.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

TypeScript

getClickableUIElements(timeoutMs?: number): Promise<string>

Parâmetro:

  • timeoutMs (number, opcional): Tempo limite em milissegundos. Padrão: 2000 ms.

Valor de retorno:

  • Promise<string>: Representação em string dos elementos de UI clicáveis.

Exceção:

  • APIError: Lançada se a operação falhar.

getAllUIElements - Obter todos os elementos de UI

Golang

func (ui *UI) GetAllUIElements(timeoutMs int) (*UIElementsResult, error)

Parâmetro:

  • timeoutMs (int): Tempo limite em milissegundos. O padrão é 2000 ms se <= 0.

Valores de retorno:

  • *UIElementsResult: Contém todos os elementos de UI e o ID da solicitação.

  • error: Erro caso a operação falhe.

Python

def get_all_ui_elements(timeout_ms: int = 2000) -> List[Dict[str, Any]]

Parâmetro:

  • timeout_ms (int, opcional): Tempo limite em milissegundos. Padrão: 2000 ms.

Valor de retorno:

  • List[Dict[str, Any]]: Todos os elementos de UI com detalhes de análise.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

TypeScript

getAllUIElements(timeoutMs?: number): Promise<string>

Parâmetro:

  • timeoutMs (number, opcional): Tempo limite em milissegundos. Padrão: 2000 ms.

Valor de retorno:

  • Promise<string>: Representação em string de todos os elementos de UI.

Exceção:

  • APIError: Lançada se a operação falhar.

sendKey - Enviar pressionamento de tecla

Golang

func (ui *UI) SendKey(key int) (*KeyActionResult, error)

Parâmetro:

  • key (int): Código da tecla a ser enviada. Utilize as constantes KeyCode.

Valores de retorno:

  • *KeyActionResult: Contém o status da operação e o ID da solicitação.

  • error: Erro caso a operação falhe.

Estrutura KeyActionResult:

type KeyActionResult struct {
    RequestID string // A unique request identifier for debugging.
    Success   bool   // Indicates whether the key was sent successfully.
}

Python

def send_key(key: int) -> bool

Parâmetro:

  • key (int): Código da tecla a ser enviada. Utilize as constantes KeyCode.

Valor de retorno:

  • bool: True se a tecla for enviada com sucesso.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

Exemplo:

# Send the Home keypress
success = agent_bay.ui.send_key(KeyCode.HOME)
print("Keypress send result:", success)

TypeScript

sendKey(key: number): Promise<string>

Parâmetro:

  • key (number): Código da tecla a ser enviada. Utilize as constantes KeyCode.

Valor de retorno:

  • Promise<string>: Texto de resposta em caso de sucesso.

Exceção:

  • APIError: Lançada em caso de falha.

Exemplo:

// Send the Home keypress
const result = await agentBay.ui.sendKey(KeyCode.HOME);
console.log("Keypress send result:", result);

inputText - Inserir texto

Golang

func (ui *UI) InputText(text string) (*TextInputResult, error)

Parâmetro:

  • text (string): Texto a ser inserido.

Valores de retorno:

  • *TextInputResult: Contém o texto inserido e o ID da solicitação.

  • error: Erro caso a operação falhe.

Estrutura TextInputResult:

type TextInputResult struct {
    RequestID string // A unique request identifier for debugging.
    Text      string // The entered text.
}

Python

def input_text(text: str) -> None

Parâmetro:

  • text (str): Texto a ser inserido.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

Exemplo:

# Enter the text "Hello"
agent_bay.ui.input_text("Hello")

TypeScript

inputText(text: string): Promise<string>

Parâmetro:

  • text (string): Texto a ser inserido.

Valor de retorno:

  • Promise<string>: Texto de resposta em caso de sucesso.

Exceção:

  • APIError: Lançada em caso de falha.

Exemplo:

// Enter the text "Hello"
const result = await agentBay.ui.inputText("Hello");
console.log("Text input result:", result);

swipe - Realizar gesto de deslize

Golang

func (ui *UI) Swipe(startX, startY, endX, endY, durationMs int) (*SwipeResult, error)

Parâmetros:

  • startX (int): Coordenada X inicial.

  • startY (int): Coordenada Y inicial.

  • endX (int): Coordenada X final.

  • endY (int): Coordenada Y final.

  • durationMs (int): Duração do deslize em milissegundos.

Valores de retorno:

  • *SwipeResult: Contém o status da operação e o ID da solicitação.

  • error: Erro caso a operação falhe.

Estrutura SwipeResult:

type SwipeResult struct {
    RequestID string // A unique request identifier for debugging.
    Success   bool   // Indicates whether the swipe was successful.
}

Python

def swipe(start_x: int, start_y: int, end_x: int, end_y: int, duration_ms: int = 300) -> None

Parâmetros:

  • start_x (int): Coordenada X inicial.

  • start_y (int): Coordenada Y inicial.

  • end_x (int): Coordenada X final.

  • end_y (int): Coordenada Y final.

  • duration_ms (int, opcional): Duração do deslize em milissegundos. Padrão: 300 ms.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

Exemplo:

# Swipe from (100, 200) to (300, 400)
agent_bay.ui.swipe(100, 200, 300, 400)

TypeScript

swipe(
  startX: number,
  startY: number,
  endX: number,
  endY: number,
  durationMs?: number
): Promise<string>

Parâmetros:

  • startX (number): Coordenada X inicial.

  • startY (number): Coordenada Y inicial.

  • endX (number): Coordenada X final.

  • endY (number): Coordenada Y final.

  • durationMs (number, opcional): Duração do deslize em milissegundos. Padrão: 300 ms.

Valor de retorno:

  • Promise<string>: Texto de resposta em caso de sucesso.

Exceção:

  • APIError: Lançada em caso de falha.

Exemplo:

// Swipe from (100, 200) to (300, 400)
const result = await agentBay.ui.swipe(100, 200, 300, 400);
console.log("Swipe operation result:", result);

click - Clicar em uma coordenada

Golang

func (ui *UI) Click(x, y int, button string) (*UIResult, error)

Parâmetros:

  • x (int): Coordenada X.

  • y (int): Coordenada Y.

  • button (string): Botão do mouse. O padrão é left se estiver vazio.

Valores de retorno:

  • *UIResult: Contém o status da operação, o ID do componente e o ID da solicitação.

  • error: Erro caso a operação falhe.

Estrutura UIResult:

type UIResult struct {
    RequestID  string // A unique request identifier for debugging.
    ComponentID string // The component ID, if applicable.
    Success    bool   // Indicates whether the operation was successful.
}

Python

def click(x: int, y: int, button: str = "left") -> None

Parâmetros:

  • x (int): Coordenada X.

  • y (int): Coordenada Y.

  • button (str, opcional): Botão do mouse. Padrão: left.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

Exemplo:

# Left-click the coordinates (200, 300)
agent_bay.ui.click(200, 300)

TypeScript

click(x: number, y: number, button?: string): Promise<string>

Parâmetros:

  • x (number): Coordenada X.

  • y (number): Coordenada Y.

  • button (string, opcional): Botão do mouse. Padrão: left.

Valor de retorno:

  • Promise<string>: Texto de resposta em caso de sucesso.

Exceção:

  • APIError: Lançada em caso de falha.

Exemplo:

// Left-click the coordinates (500, 800)
const result = await agentBay.ui.click(500, 800);
console.log("Click operation result:", result);

screenshot - Capturar tela

Golang

func (ui *UI) Screenshot() (*UIResult, error)

Valores de retorno:

  • *UIResult: Contém o status da operação e o ID da solicitação.

  • error: Erro caso a operação falhe.

Python

def screenshot() -> str

Valor de retorno:

  • str: Dados da captura de tela.

Exceção:

  • AgentBayError: Lançada se a operação falhar.

Exemplo:

# Take a screenshot
image_data = agent_bay.ui.screenshot()
print("Screenshot data:", image_data[:100])  # Print the first 100 characters

TypeScript

screenshot(): Promise<string>

Valor de retorno:

  • Promise<string>: Dados da captura de tela em caso de sucesso.

Exceção:

  • APIError: Lançada em caso de falha.

Exemplo:

// Take a screenshot
const imageData = await agentBay.ui.screenshot();
console.log("Screenshot data:", imageData);