Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hugogomess

Python / Pillow - Como capturar imagens de uma janela específica?

Recommended Posts

Olá, eu quero fazer um script com pillow que capture a imagem de uma janela específica mesmo que ele esteja sobreposta por outras ou seja redimensionada, quero que quando um pixel específico mudar de cor seja digitado uma sequencia de letras (farei essa parte de digitar com o pyautogui, não tenho dúvidas nessa parte) mas para saber se o pixel mudou de cor, o pillow precisa monitorar essa janela mesmo que ela seja redimensionada ou sobreposta/minimizada.

Alguém sabe como posso fazer isso? Não tenho exemplo de código pois ainda não comecei o script.

Outra coisa, alguém sabe como posso fazer com python de maneira geral ou outra lib para saber se um processo está ou não sendo executado?

Sou novo no aqui então desculpa ae qualquer coisa que esteja errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por LuizH.M
      from urllib.request import urlopen   response = urlopen("http://vimeo.com/api/v2/video/57733101.json").read().decode('utf8') dados = json.loads(response)[0] print(dados)   print('Titulo: ',dados['title']) print('URL: ',dados['url']) print('Duração',dados['duration'])     a parte do json fala que não está definida   me ajudem pls    estou usando o visual studio
       
    • Por Marcosvn
      Quero desenvolver um site semelhante a esse: https://www.catalogosofertas.com.br/ 
       
      No qual eles enviam diversas ofertas e encartes recentes de lojas em geral e supermercados. Eles possuem muito conteúdo que são atualizados frequentemente, no entanto, muitos dos supermercados, por exemplo, não possuem os folhetos de cada cidade em seus sites. De modo que pudesse criar um scraper pra ficar acompanhando as atualizações. 
       
      Ao mesmo tempo não imagino que eles tenha muitos funcionários fazendo isso, pois são muitas lojas e supermercados que o encarte vence em alguns dias. Oq me faz pensar que manualmente é inviável manter as atualizações.
       
      Queria saber de vocês, que tem experiência com a área ou mesmo que já tenham trabalhado em projetos semelhantes, como posso me organizar para fazer isso acontecer assim como no site de exemplo: https://www.catalogosofertas.com.br/ 
       
      Como posso fazer isso ? Realmente teria q ficar criando diversos scraper e códigos pra ficar acompanhando os encartes de cada loja e supermercado?
       
      Qual dica, sugestão , orientação poderá me ser muito útil, pois estou confuso sobre como fazer isso acontecer.
    • Por Bruno Soares Slva
      Boa tarde pessoal,
      Estou com problemas para criar um robô. O mesmo esta dando na linha em negrito. Segue abaixo o erro que está aparecendo. Alguma informação. Estou usando o VSCode versão: 1.73.0, Python versão 3.8.0, chromedriver versão 18 (antepenúltima). Segue código e erro abaixo:
       
      Erro mostrado: 
       
      Windows PowerShell
      Copyright (C) Microsoft Corporation. Todos os direitos reservados.        
      Experimente a nova plataforma cruzada PowerShell https://aka.ms/pscore6   
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse>  & 'C:\Users\soare\AppData\Local\Programs\Python\Python38\python.exe' 'c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '52080' '--' 'c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py'
      Traceback (most recent call last):
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 192, in _run_module_as_main
          return _run_code(code, main_globals, None,
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>
          cli.main()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
          run()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
          runpy.run_path(target, run_name="__main__")
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse>  c:; cd 'c:\Users\soare\Documents\Estudos\Python\projectCourse'; & 'C:\Users\soare\AppData\Local\Programs\Python\Python38\python.exe' 'c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher' '52168' '--' 'c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py' 
      Traceback (most recent call last):
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 192, in _run_module_as_main
          return _run_code(code, main_globals, None,
        File "C:\Users\soare\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy\__main__.py", line 39, in <module>
          cli.main()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 430, in main
          run()
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher/../..\debugpy/..\debugpy\server\cli.py", line 284, in run_file
          runpy.run_path(target, run_name="__main__")
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 320, in run_path
          code, fname = _get_code_from_file(run_name, path_name)
        File "c:\Users\soare\.vscode\extensions\ms-python.python-2022.16.1\pythonFiles\lib\python\debugpy\_vendored\pydevd\_pydevd_bundle\pydevd_runpy.py", line 294, in _get_code_from_file
          code = compile(f.read(), fname, 'exec')
        File "c:\Users\soare\Documents\Estudos\Python\projectCourse\projeto1\roboweb1.py", line 17
          driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options)
                                    ^
      SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
      PS C:\Users\soare\Documents\Estudos\Python\projectCourse> 
       
       
      Obsrvação: 
      O erro está caindo nesta linha
      driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options)
       
       
       
      Codigo:
          from selenium import webdriver from selenium.webdriver.common.keys import Keys import time   options = webdriver.ChromeOptions() options.add_argument('--disable-logging') options.add_argument('--log-level=3')     driver = webdriver.Chrome('C:\Users\soare\Documents\Estudos\Python\chromedriver', options=options) driver.get("https://registro.br/")   pesquisa = driver.find_elements_by_id('is-avail-field') pesquisa.clear() pesquisa.send_keys('roboscompython.com.br') pesquisa.send_keys(Keys.RETURN)   time.sleep(8) driver.close()

         
       
       
       
       
       
       
       
       
       
    • Por Rafael Castelhano
      Boa tarde,
       
      Estou tentando criar uma imagem dinamicamente por javascript e carregá-la no input do formulário, apesar da imagem ser gerada corretamente, ao validar o formulário no python é retornado um erro alegando que o arquivo de imagem é inválido ou está corrompido.
       
      Segue gist com o código:
      https://gist.github.com/castelhano/bd72947e13421606453798bbf219cc74
    • Por frogzinkk
      rom itertools import count import time cores = {'verde': '\033[32m', 'amarelo': '\033[33m', 'vermelho': '\033[31m', 'azul': '\033[34m', 'limpar': '\033[m' } servicos = '0' while servicos != '4': print('{}━━━━━━◇◆◇━━━━━━'.format(cores['azul'])*2) print('Seja Bem Vindo ao FrogBank') print('━━━━━━◇◆◇━━━━━━'*2) servicos = str(input('{}{}\nEscolhas o Serviço Desejado!\n[1]Saldo\n[2]Emprestimo\n[3]Transferencia\n[4]Sair{}\n\n'.format( cores['limpar'], cores['amarelo'], cores['limpar']))) class operacoes: saldo_possui = 10 saldo_atual = 0 if servicos == '1': print('\n{}Saldo disponivel: {}\nAguarde o retorno automatico.{}'.format( cores['verde'], saldo_possui+saldo_atual, cores['limpar'])) time.sleep(5) elif servicos == '2': emprestimo = float( input('\nDigite o Valor do Emprestimo Desejado:')) salario = float(input('\nDigite o Valor do Seu Salario:')) anos = float( input('\nDigite Quantos Anos de Parcelamento Deseja?')) messes = anos * 12 valor_parcelas = emprestimo / messes valor_minimo_parcelas = salario * 30 / 100 if valor_parcelas <= valor_minimo_parcelas: saldo_atual = saldo_possui + emprestimo print('{}Emprestimo Aprovado! Seu saldo atual é: {}\n\n Aguarde o retorno automatico.{}'.format( cores['verde'], saldo_atual, cores['limpar'])) time.sleep(5) else: print('{}Emprestimo Recusado! Aguarde o retorno automatico.{}'.format( cores['vermelho'], cores['limpar'])) elif servicos == '3': saldo_possui = 10 input( '\nDigite o numero da conta na qual deseja realizar uma transferencia:\n') print('\n{}Processando...{}\n'.format( cores['verde'], cores['limpar'])) time.sleep(5) valor_transferencia = float( input('Digite o valor da transferencia\n')) print('\nProcessando...\n'.format(cores['verde'], cores['limpar'])) time.sleep(5) if valor_transferencia > saldo_possui: print('{}Voce nao possui saldo para esta ação.{}'.format( cores['vermelho'], cores['limpar'])) input('Digite o valor da transferencia\n') else: valor_transferencia == saldo_possui print( '\n{}Transferencia Realizada com sucesso! Aguarde o retorno automatico.{}\n'.format(cores['verde'], cores['limpar'])) time.sleep(5)
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.