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 |
||
|
|
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 |
|
|
Insere texto. |
Não compatível |
Não compatível |
Não compatível |
Compatível |
Não compatível |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
Ativa uma janela específica. |
Não compatível |
Compatível |
Não compatível |
Não compatível |
Não compatível |
|
|
Maximiza uma janela. |
Não compatível |
Compatível |
Não compatível |
Não compatível |
Não compatível |
|
|
Minimiza uma janela. |
Não compatível |
Compatível |
Não compatível |
Não compatível |
Não compatível |
|
|
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 |
|
|
Fecha uma janela. |
Não compatível |
Compatível |
Não compatível |
Não compatível |
Não compatível |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 msse<= 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:
2000ms.
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:
2000ms.
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 msse<= 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:
2000ms.
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:
2000ms.
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:Truese 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:
300ms.
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:
300ms.
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 é
leftse 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);