skills
This commit is contained in:
@@ -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();
|
||||
Reference in New Issue
Block a user