Browser

Script CDP per avviare Chrome, navigare, eseguire JS, fare screenshot e selezionare elementi DOM (macOS)

di iamzhihuix · iamzhihuix/happy-claude-skills

Promosso ★ 8.4/10

Browser — Script CDP per avviare Chrome, navigare, eseguire JS, fare screenshot e selezionare elementi DOM (macOS)

Cosa fa

Un set di script Node.js puppeteer-core che pilotano un Chrome reale tramite il DevTools Protocol sulla porta 9222: avvia Chrome, naviga tra le schede, valuta JavaScript nella pagina renderizzata, cattura screenshot del viewport e seleziona interattivamente elementi DOM. Si attiva su richieste di navigazione o scraping di un sito web, cattura di screenshot di pagina, automazione di un browser o estrazione del DOM renderizzato. Poiché esegue JS sulla pagina renderizzata dal vivo, legge contenuti che i fetch HTTP raw non riescono a catturare; si noti che gli script hardcodano i percorsi di Chrome per macOS e start.js chiude il Chrome in esecuzione.

Rapporto di test

Clonato il repo ed eseguito `npm install` (puppeteer-core, 0 vulnerabilità, postinstall chmod ha reso tutti e 5 gli script +x). Per evitare che `killall 'Google Chrome'` di start.js interrompesse il browser attivo dell'utente, ho avviato un Chrome headless isolato su :9222 con un profilo temporaneo e ho eseguito direttamente nav.js/eval.js/screenshot.js — tutto ha funzionato (titolo, conteggi link, estrazione oggetto IIFE, PNG in tmp). OUTPUT: su quotes.toscrape.com/js renderizzato in JS, il `curl` baseline dell'HTML raw ha trovato 0 citazioni e 0 autori, mentre nav.js+eval.js hanno estratto 10 citazioni e l'autore "Albert Einstein" dal DOM renderizzato — una differenza decisiva e citabile. Installazione/documentazione penalizzate perché start.js hardcoda percorsi solo per macOS e chiude forzatamente il Chrome in esecuzione, cosa che la documentazione accenna solo in un commento nel codice; nessun malware, curl|sh o esfiltrazione trovati.

Testato il: 2026-07-31 · Claude Code 2.x (agent harness)

Installazione

git clone --depth 1 https://github.com/iamzhihuix/happy-claude-skills.git /tmp/browser-src
mkdir -p ~/.claude/skills
cp -R /tmp/browser-src/skills/browser ~/.claude/skills/browser
npm install --prefix ~/.claude/skills/browser
# Requires macOS + Google Chrome desktop at /Applications/Google Chrome.app (paths hardcoded in scripts/start.js).
# WARNING: start.js runs `killall 'Google Chrome'` then relaunches Chrome on :9222; it closes your existing Chrome windows.
# --profile rsyncs your real Chrome profile (cookies/logins) into ~/.cache/browser-tools.
# Scripts: start.js [--profile] | nav.js <url> [--new] | eval.js '<expr>' | screenshot.js | pick.js '<msg>'

Comandi e prompt di esempio

  • /browserScript CDP per avviare Chrome, navigare, eseguire JS, fare screenshot e selezionare elementi DOM (macOS)

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • Take a screenshot of this webpage
  • Scrape the product listings from this page
  • Extract the DOM structure of this site