Como criar um clicador de sites com NodeJS
Aprenda a criar um clicador de sites usando Node.js e Puppeteer. Neste tutorial, abordaremos a instalação do Node.js, configuração do projeto, interação com elementos da página e automação de ações, como curtir artigos em um site específico.
[ Hits: 2.762 ]
Por: Fábio Berbert de Paula em 01/04/2023 | Blog: https://fabio.automatizando.dev
const puppeteer = require('puppeteer')
const URL = 'https://www.vivaolinux.com.br'
// Função para extrair links dos artigos
const extractLinks = async (page) => {
const rows = await page.$$eval(
'div.media-body > h3 > a.home-link',
(rows) =>
rows
.map((row) => (row ? row.getAttribute('href') : null))
.filter((row) => row !== null)
.slice(0, 3)
)
return rows
}
// Função para curtir um artigo
const likeInPage = async (page, href) => {
const ARTICLE_URL = URL + href
await page.goto(ARTICLE_URL)
console.log('Acessar artigo:', ARTICLE_URL)
// Clicar no botão de curtir
await page.click('a[data-tipo="like"]')
console.log('Artigo curtido!')
}
// Função principal
const main = async () => {
// Inicializa o Puppeteer
const browser = await puppeteer.launch({ headless: true })
const page = await browser.newPage()
// Configura o viewport para formato de desktop
await page.setViewport({
width: 1280,
height: 800,
deviceScaleFactor: 1,
isMobile: false,
})
// Acessa a página inicial do Viva o Linux
await page.goto(URL)
console.log('Extrair link dos 3 últimos artigos...')
// Extrai os links dos artigos
const hrefs = await extractLinks(page)
// Curtir cada artigo usando a função likeInPage
for (const href of hrefs) {
await likeInPage(page, href)
}
// Fecha o navegador
await browser.close()
}
// Executa a função principal
main()
FISL 10: Venturas e desventuras da turma do VOL
Root no Samsung Galaxy S3 usando GNU/Linux
OpenAI - Como usar uma Inteligência Artificial a seu favor
Informativo: novos recursos no fórum
CSS - Manual de Estilo (parte 2)
Camada de Transporte TCP/IP e Aplicação
EAuthenticator - Clone do Google Authenticator para Linux
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Conky não mostra temperaturas da CPU no notebook (15)
Após todos esses anos... youtube! (2)
archlinux resolução abaixou após atualização [RESOLVIDO] (19)
Registro do 'last&qu... errado [RESOLVIDO] (9)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (2)









