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
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
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