This commit is contained in:
Thomas G. Lopes
2026-02-24 16:54:28 +00:00
parent 7a4870294b
commit 7edfb90d5f
21 changed files with 4491 additions and 0 deletions
@@ -0,0 +1,44 @@
#!/usr/bin/env node
import puppeteer from "puppeteer-core";
const args = process.argv.slice(2);
const newTab = args.includes("--new");
const reload = args.includes("--reload");
const url = args.find(a => !a.startsWith("--"));
if (!url) {
console.log("Usage: browser-nav.js <url> [--new] [--reload]");
console.log("\nExamples:");
console.log(" browser-nav.js https://example.com # Navigate current tab");
console.log(" browser-nav.js https://example.com --new # Open in new tab");
console.log(" browser-nav.js https://example.com --reload # Navigate and force reload");
process.exit(1);
}
const b = await Promise.race([
puppeteer.connect({
browserURL: "http://localhost:9222",
defaultViewport: null,
}),
new Promise((_, reject) => setTimeout(() => reject(new Error("timeout")), 5000)),
]).catch((e) => {
console.error("✗ Could not connect to browser:", e.message);
console.error(" Run: browser-start.js");
process.exit(1);
});
if (newTab) {
const p = await b.newPage();
await p.goto(url, { waitUntil: "domcontentloaded" });
console.log("✓ Opened:", url);
} else {
const p = (await b.pages()).at(-1);
await p.goto(url, { waitUntil: "domcontentloaded" });
if (reload) {
await p.reload({ waitUntil: "domcontentloaded" });
}
console.log("✓ Navigated to:", url);
}
await b.disconnect();