Command for desktop and web bots

Estou criando um bot em python que precisa abrir uma pagina web e depois jogar a informação em um programa. A parte web consegui fazer.
Ao abrir o programa e tentar identificar imagens, o bot tenta reconhecer a imagem na pagina web aberta previamente e nao no programa. Estou usando o comando “self…”. Existe algum outro comando que desconheco?
Agradeço a ajuda

@marlonlove

Uma alternativa para isso é você importar no seu código o pacote do DesktopBot e instanciar um bot que será responsável por fazer essas operações. Algo assim:

Dessa forma você conseguiria utilizar o self para as operações do WebBot e poderia usar desktop_bot.find(...) para as operações em aplicativos desktop, por exemplo.

Ao criar um novo projeto clonando o template, você também pode selecionar a opção Both, dessa forma o projeto já será criado automaticamente com o WebBot e o DesktopBot

1 Like

Obrigado pela resposta
Mas eu fiz isso de usar o modo “both”. E ao realizar o procedimento de tirar printscreen e etc aparece o seguinte:
if not self.find( “project”, matching=0.97, waiting_time=10000):
self.not_found(“project”)
self.click_relative(40, 299)
Ou seja, ele tenta identificar no browser aberto anteriormente…

Esse seria o código gerado pelo BotStudio, certo? Por padrão o Studio vai gerar o código sempre com o self. No caso de um projeto criado com a opção Both, por padrão o self vai se referir ao WebBot

Você pode tentar refatorar esse código que é gerado pelo Studio, basta somente substituir o self pelo nome do objeto que referencia o DesktopBot, no caso do exemplo acima o seu código ficaria assim:

if not desktop_bot.find( “project”, matching=0.97, waiting_time=10000):
    print(“project” not found.)
desktop_bot.click_relative(40, 299)

Fiz isso e aparece o seguinte erro:
TypeError: expected an image filename, OpenCV numpy array, or PIL image
Verifiquei os arquivos em resources e eles estao em formato PNG

Acabei esquecendo de comentar sobre esse ponto na resposta anterior, mas nesse caso uma alternativa é utilizar o método add_image: Framework - BotCity Framework Core - Python

Antes de procurar por um elemento através do desktop_bot, tente utilizar esse método. Se a imagem está na pasta de resources, o código ficaria mais ou menos assim:

desktop_bot.add_image(label="project", path="resources/project.png")

if not desktop_bot.find( “project”, matching=0.97, waiting_time=10000):
    print(“project” not found.)
desktop_bot.click_relative(40, 299)

Funcionou! Muito obrigado mestre

1 Like