JavaScript para automação: tarefas chatas são coisa do passado

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que o JavaScript é seu principal aliado na automação



Você já se pegou pensando que perde horas em tarefas repetitivas: renomear centenas de arquivos, copiar dados de tabelas, enviar dezenas de e-mails ou verificar se um site caiu? Se sim, este artigo é para você.



O JavaScript há muito deixou de ser apenas uma "linguagem para animar botões". Com o surgimento do Node.js e de bibliotecas poderosas, ele se transformou em uma ferramenta universal para automação de tarefas. E sim, mesmo que você seja um desenvolvedor Python, o JS pode se tornar sua arma secreta: ele funciona em qualquer lugar — no navegador, no servidor, na nuvem e até no Raspberry Pi.



Neste artigo, vamos explorar cenários reais de automação com JavaScript que economizarão dezenas de horas do seu tempo. Sem enrolação — apenas código e prática.



1. Automação de navegador: Puppeteer e Playwright



Imagine: você precisa coletar preços de 500 páginas de uma loja online, mas não há API. Copiar e colar manualmente? Não, obrigado. É aí que entra o Puppeteer — uma biblioteca para controlar o Chromium.



Exemplo: Parsing de títulos de notícias



const puppeteer = require('puppeteer');

(async () => { const browser = await puppeteer.launch({ headless: true }); const page = await browser.newPage(); await page.goto('https://news.ycombinator.com', { waitUntil: 'networkidle2' }); const titles = await page.evaluate(() => { const items = document.querySelectorAll('.titleline > a'); return Array.from(items).map(item => item.innerText); }); console.log('Últimas notícias:', titles.slice(0, 10)); await browser.close();})();


Este script abre o Hacker News, coleta os títulos das primeiras 10 notícias e os exibe no console. Na vida real, você pode adicionar salvamento em CSV, envio para o Telegram ou gravação em um banco de dados.



Playwright — uma alternativa com superpoderes

Se você precisa trabalhar com vários navegadores (Chrome, Firefox, Safari) ou emular dispositivos móveis, use o Playwright. Ele é mais rápido, mais estável e consegue interceptar requisições.



2. Manipulação de arquivos: renomear, organizar, limpar



Você tem uma pasta com 1000 fotos com nomes como "IMG_20250101_123456.jpg"? Quer organizá-las? O módulo nativo fs (File System) do Node.js resolve isso em segundos.



Exemplo: Renomeação em massa de arquivos



const fs = require('fs');const path = require('path');

const directory = './photos';

fs.readdir(directory, (err, files) => { if (err) throw err; files.forEach((file, index) => { const ext = path.extname(file); const newName = `photo_${String(index + 1).padStart(4, '0')}${ext}`; fs.rename( path.join(directory, file), path.join(directory, newName), (err) => { if (err) console.error(`Erro com o arquivo ${file}:`, err); else console.log(`${file} → ${newName}`); } ); });});


Você pode modificar facilmente o script: adicionar um filtro por extensão, extrair a data do EXIF, renomear por padrão. Esta é a base sobre a qual dezenas de utilitários são construídos.



3. Automação com CSV e Excel (sem pacote Office)



Tarefas de negócios frequentemente exigem processamento de planilhas. Para CSV, use o módulo nativo ou a biblioteca csv-parser. Para Excel, use xlsx (SheetJS).



Exemplo: Leitura de CSV e criação de relatório



const fs = require('fs');const csv = require('csv-parser');const createCsvWriter = require('csv-writer').createObjectCsvWriter;

const results = [];

fs.createReadStream('orders.csv') .pipe(csv()) .on('data', (row) => { if (parseFloat(row.total) > 100) { results.push({ orderId: row.id, client: row.name, sum: row.total }); } }) .on('end', () => { const csvW

Blogs

Book Recommendations