Ações de Tela
Ações de tela são ações para interagir com a tela do computador.
Ações
screen.crop_screen
Faz uma captura de tela da parte desejada da tela.
Parâmetros:
x - Posição mais à esquerda da tela a ser cortada
y - Posição superior da tela a ser cortada
width - Largura da tela a ser cortada
height - Altura da tela a ser cortada
save_path - Caminho para salvar a imagem de captura de tela recortada
Ações de Tela
As ações abaixo refletem exatamente as funções expostas pelo módulo screen.py
.
Observação: os retornos das actions viram variáveis de estado do robô; use o nome exato da chave retornada precedida de $
.
Somente funções anotadas com @decorators.robotaction
estão documentadas aqui.
screen.crop_screen
Captura a tela (ou usa o screen
informado) e salva/retorna a área recortada.
Assinatura / Parâmetros (use exatamente estes nomes):
- x
- y
- width
- height
- save_path
- screen
(opcional)
Retorno (variáveis de estado):
- screenshot
— imagem inteira capturada (numpy array).
- crop
— imagem da área recortada (numpy array).
Exceções observadas:
- FileNotFoundException
— quando o asset/path não existe (ao abrir imagens).
- InvalidImageExtension
— extensão inválida ao salvar imagem.
screen.screenshot
Tira uma captura de tela e retorna a imagem.
Parâmetros: nenhum
Retorno:
- screenshot
— imagem inteira capturada (numpy array).
screen.find_image
Encontra a melhor correspondência para template_image
e retorna posição e tamanho.
Parâmetros:
- template_image
- threshold
(opcional, default=0.9)
- screenshot_img
(opcional)
Retorno (variáveis de estado):
- x
- y
- width
- height
Exceções:
- ImageNotFoundException
— se não for encontrada dentro do fluxo de busca.
screen.find_image_center
Mesma saída de find_image
, mas x
/y
são ajustados para o centro da área encontrada.
Parâmetros: mesmos de find_image
.
Retorno:
- x
, y
, width
, height
(com x
/y
centrados).
screen.find_image_multiple
Encontra múltiplas ocorrências de template_image
e retorna posições indexadas.
Parâmetros:
- template_image
- threshold
(opcional, default=0.9)
- screenshot_img
(opcional)
- overlap_factor
(opcional, default=0.5)
Retorno (variáveis de estado):
- x[0]
, y[0]
, width[0]
, height[0]
, x[1]
, y[1]
, ... — posições/medidas por índice.
- length
— número de ocorrências encontradas.
Exceções:
- ImageNotFoundException
— se nenhuma ocorrência for encontrada.
screen.find_image_multiple_center
Idêntico a find_image_multiple
, mas x[n]
/y[n]
são ajustados para o centro de cada ocorrência.
Parâmetros: mesmos de find_image_multiple
.
Retorno:
- x[n]
, y[n]
, width[n]
, height[n]
, length
.
screen.wait_image
Aguarda até que template_image
apareça na tela ou até timeout
.
Parâmetros:
- template_image
- threshold
(opcional, default=0.9)
- screenshot_img
(opcional)
- timeout
(opcional, default=60)
Retorno (variáveis de estado):
- x
, y
, width
, height
— posição/tamanho da imagem encontrada.
Exceções:
- ImageNotFoundException
— se não for encontrada dentro do tempo limite.
screen.wait_images
Aguarda até que qualquer uma das imagens de template_image_list
apareça na tela.
Parâmetros:
- template_image_list
- threshold
(opcional, default=0.9)
- screenshot_img
(opcional)
- timeout
(opcional, default=60)
Retorno (variáveis de estado):
- image_found
— nome do template que foi localizado.
- x
, y
, width
, height
— posição/tamanho da imagem encontrada.
Exceções:
- ImageNotFoundException
— se nenhuma das imagens for encontrada no tempo limite.
Exemplo:
screen.wait_images(["error-1.png", "error-2.png"])
if $image_found == "error-1.png":
prompt.alert("Erro 1 encontrado na tela")
elif $image_found == "error-2.png":
prompt.alert("Erro 2 encontrado na tela")
screen.wait_image_disapear
Aguarda até que template_image
desapareça da tela (note o nome da função: wait_image_disapear
).
Parâmetros:
- template_image
- threshold
(opcional, default=0.9)
- screenshot_img
(opcional)
- timeout
(opcional, default=60)
Retorno: - nenhum (dicionário vazio retornado pelo código).
Exceções:
- TimeoutException
— se a imagem permanecer visível além do timeout
.
screenshot_img (opcional) - se o modelo deve ser encontrado em uma determinada tela ao lado da tela atual (padrão=Nenhum - faça uma nova captura de tela).