Mostrando postagens com marcador Automatização. Mostrar todas as postagens
Mostrando postagens com marcador Automatização. Mostrar todas as postagens

25 de julho de 2026

Executando um script python diariamente através do Agendador de Tarefas do Windows

 Agendador de Tarefas 

  • Abra o menu iniciar, digite Agendador de Tarefas (Task Scheduler) e abra o app.
  • Clique em "Criar Tarefa Básica..." no menu à direita.
  • Dê um nome para a tarefa e clique em avançar.
  • Escolha o gatilho Ao fazer logon ou Ao iniciar o computador.
  • Na ação, selecione Iniciar um programa.
  • No campo "Programa/script", coloque o caminho do python.exe. Em "Adicionar argumentos", coloque o caminho completo do seu arquivo

25 de janeiro de 2016

Automatização do Navegador utilizando o IMacros - 2ª parte

Voltando ao exemplo do Imacros para preencher automaticamente um formulário. Vamos supor que você queira responder várias vezes o formulário, sendo que cada preenchimento vão ser colocadas informações ligeiramente diferentes no formulário (Figura 1). 



Figura 1: Minions - ligeiramente diferentes mas tudo igual 


A melhor forma de realizar esta tarefa é colocar as respostas em um arquivo csv, sendo cada linha do arquivo vai conter um preenchimento das respostas (colunas) do formulário. O arquivo contendo as respostas vai ter a seguinte estrutura (Figura 2).


Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4
Da Padoca da Esquina Por que eu quero Com açúcar Sou programador: por volta de 7 litros
Requentado Café de ontem é melhor Sem açúcar Duas
Feito na hora Não tem nada melhor do que o café feito na hora Filtrado com meia velha Uma

Figura 2: Formato do arquivo csv contendo os dados a serem utilizados

Após criar este arquivo csv basta fazer o IMacros obter as respostas deste arquivo. Portanto, a partir do script do artigo anterior:


TAB T=1
URL GOTO=https://docs.google.com/forms/d/1nXuAGqskiTm8vU1Gm8bEMUpe9NSTgrtHhqlcsQgzgis/viewform?fbzx=-5150429435447904810
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1925481785&&VALUE:Da<SP>padoca<SP>da<SP>esquina CONTENT=YES
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form ATTR=ID:entry_1632006682 CONTENT=Por<SP>que<SP>sim
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1254744817&&VALUE:Com<SP>açúcar CONTENT=YES
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.753234863&&VALUE:Sou<SP>programador:<SP>por<SP>volta<SP>de<SP>7<SP>litros CONTENT=YES
WAIT SECONDS=6
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:ss-form ATTR=ID:ss-submit


Vamos alterar o script para retirar os dados a serem preenchidos no formulário a partir do arquivo csv criado anteriormente. 

Inicialmente vamos indicar a localização do arquivo (exemplo.csv) contendo os dados a serem inseridos no formulário. Neste exemplo o arquivo se encontra na pasta
"C:/temp".

SET !DATASOURCE "C:/temp/exemplo.csv"

Agora indicamos para o IMacros ignorar a primeira linha do arquivo. Vamos utilizar esta linha como cabeçalho (header) do arquivo csv. 

SET !LOOP 2
SET !DATASOURCE_LINE {{!LOOP}}

Finalmente vamos utilizar as colunas do arquivo csv para preencher os campos do formulário.

Para a pergunta nº1 a resposta se encontra na 1ª coluna do arquivo csv (COL1).

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1925481785&&VALUE:{{!COL1}} CONTENT=YES

Para a pergunta nº2 a resposta se encontra na 2ª coluna do arquivo csv (COL2).

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form ATTR=ID:entry_1632006682 CONTENT={{!COL2}}

Para a pergunta nº3 a resposta se encontra na 3ª coluna do arquivo csv (COL3).

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1254744817&&VALUE:{{!COL3}} CONTENT=YES

Para a pergunta nº4 a resposta se encontra na 4ª coluna do arquivo csv (COL4).

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.753234863&&VALUE:{{!COL4}} CONTENT=YES

Apenas para visualização do funcionamento do script indicamos para o IMACROS esperar alguns segundos antes de submeter o formulário:

WAIT SECONDS=6

E na última etapa submetemos o formulário:

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:ss-form ATTR=ID:ss-submit


E o script completo fica da seguinte  forma:

TAB T=1
URL GOTO=https://docs.google.com/forms/d/1nXuAGqskiTm8vU1Gm8bEMUpe9NSTgrtHhqlcsQgzgis/viewform?fbzx=-5150429435447904810

SET !DATASOURCE "C:/temp/exemplo.csv"
SET !LOOP 2
SET !DATASOURCE_LINE {{!LOOP}}

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1925481785&&VALUE:{{!COL1}} CONTENT=YES
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form ATTR=ID:entry_1632006682 CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1254744817&&VALUE:{{!COL3}} CONTENT=YES
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.753234863&&VALUE:{{!COL4}} CONTENT=YES
WAIT SECONDS=6
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:ss-form ATTR=ID:ss-submit

Para rodar o script basta utilizar a opção Play (Loop) do Imacros (Figura 3)



Figura 3: Print screen da tela do Imacros com a opção Play (Loop)

14 de janeiro de 2016

Automatização do Navegador utilizando o IMacros



A história é sempre a mesma. Todo dia você abre o navegador e realiza sempre o mesmo conjunto de atividades nele. Seja checar o site de notícias, dar uma olhada na cotação dos Títulos do Tesouro Direto, ou testar uma aplicação que você está desenvolvendo.

Nessas horas o IMacros cai como uma luva para realizar essas tarefas repetitivas. O IMacros é um gerador de macro, com ele você pode gravar/escrever uma macro para executar um conjunto de comandos no navegador (Figura 1). 


Figura 1: SkyNet - Um executor de macro: matar John Connor


Indo para a parte prática vamos imaginar a seguinte situação:

Você está desenvolvendo aquele sisteminha web porreta onde existe um formulário enorme para o usuário preencher. Você vai ter que testar a funcionalidade deste formulário, mas convenhamos, ficar preenchendo o formulário a cada teste é um pouco estressante (Figura 2).

Figura 2: Testando o formulário manualmente


Para o exemplo ficar mais didático, vamos reduzir o formulário do sistema para algo mais simples (Figura 3) e a partir disto vamos construir a macro para preencher os dados do formulário. 



Figura 3: formulário a ser preenchido

O formulário de exemplo é formado por 4 perguntas simples relacionadas com o café, sendo 3 delas de alternativas e 1 dissertativa. 


O primeiro comando do script a ser gerado é escolher a aba do navegador onde a macro irá rodar, no nosso caso vamos escolher a aba atual do usuário:

TAB T=1

Agora vamos indicar para o navegador qual a URL a ser visitada: 


Finalmente vamos preencher as respostas do formulário. Vamos colocar as seguintes respostas para as perguntas: 

1) Que tipo de café você gosta? 
Da padoca da esquina  

2) Qual o motivo da escolha anterior?
Por que sim

3) E como o café deve ser feito?
Com açúcar

4) Quantas xícaras de café você bebe por dia?
Sou programador, por volta de 7 litros


Os seguintes comandos devem ser adicionados no script: 

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1925481785&& VALUE:Da<SP>padoca<SP>da<SP>esquina CONTENT=YES

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form ATTR=ID:entry_1632006682 CONTENT=Por<SP>que<SP>sim

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1254744817&&VALUE:Com<SP>açúcar CONTENT=YES

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.753234863&&VALUE:Sou<SP>programador:<SP>por<SP>volta<SP>de<SP>7<SP>litros CONTENT=YES

onde: 

TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form 

busca um elemento do tipo radio no formulário de id ss-form

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form

busca um elemento do tipo text no formulário de id ss-form

ATTR=NAME:entry.1925481785&&VALUE:Da<SP>padoca<SP>da<SP>esquina 

é a restrição do radio a ser selecionado: deve possuir o nome entry.1925481785 e valor "Da padoca da esquina" (lembre-se que três radio's são identificados por este nome, mas apenas um deles possui o valor indicado)

CONTENT=YES 

indica que o radio vai ser selecionado

O mesmo ocorre para as outras duas questões envolvendo radio's: 

a restrição na seleção: 

ATTR=NAME:entry.1254744817&&VALUE:Com<SP>açúcar
ATTR=NAME:entry.753234863&&VALUE:Sou<SP>programador:<SP>por<SP>volta<SP>de<SP>7<SP>litros

e a seleção do radio:

CONTENT=YES 


ATTR=ID:entry_1632006682 

é a restrição do elemento de texto a ser selecionado: o que possui o ID igual a entry_1632006682 

CONTENT=Por<SP>que<SP>sim

Indica o valor que vai ser colocado no elemento de texto


Só para visualizarmos os campos preenchidos vamos colocar o IMacros para esperar durante uns segundos:

WAIT SECONDS=6

Por último vem o comando para submeter o formulário 

TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:ss-form ATTR=ID:ss-submit


Com isto o preenchimento do formulário está automatizado e você pode tomar um cafézinho enquanto o IMacro realiza o preenchimento do formulário (Figura 5)



FIGURA 5: Você aceita uma xícara de café?



E o script fica da seguinte forma:

TAB T=1
URL GOTO=https://docs.google.com/forms/d/1nXuAGqskiTm8vU1Gm8bEMUpe9NSTgrtHhqlcsQgzgis/viewform?fbzx=-5150429435447904810
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1925481785&&VALUE:Da<SP>padoca<SP>da<SP>esquina CONTENT=YES
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:ss-form ATTR=ID:entry_1632006682 CONTENT=Por<SP>que<SP>sim
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.1254744817&&VALUE:Com<SP>açúcar CONTENT=YES
TAG POS=1 TYPE=INPUT:RADIO FORM=ID:ss-form ATTR=NAME:entry.753234863&&VALUE:Sou<SP>programador:<SP>por<SP>volta<SP>de<SP>7<SP>litros CONTENT=YES
WAIT SECONDS=6
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:ss-form ATTR=ID:ss-submit