UNPKG

browse

Version:

Unified Browserbase CLI for browser automation and cloud APIs.

38 lines (37 loc) 1.34 kB
import { z } from "zod"; const LoadStateSchema = z .enum(["load", "domcontentloaded", "networkidle"]) .optional(); const NavigationOptionsSchema = z.object({ timeoutMs: z.number().int().positive().optional(), waitUntil: LoadStateSchema, }); const OpenSchema = NavigationOptionsSchema.extend({ url: z.string().min(1), }); export const navigationHandlers = { async open(manager, params) { const { timeoutMs, url, waitUntil } = OpenSchema.parse(params); const page = await manager.pageForOpen(); await page.goto(url, { timeoutMs, waitUntil }); return manager.openResult(page); }, async reload(manager, params) { const options = NavigationOptionsSchema.parse(params); const page = await manager.activePage(); await page.reload(options); return manager.openResult(page); }, async back(manager, params) { const options = NavigationOptionsSchema.parse(params); const page = await manager.activePage(); await page.goBack(options); return manager.openResult(page); }, async forward(manager, params) { const options = NavigationOptionsSchema.parse(params); const page = await manager.activePage(); await page.goForward(options); return manager.openResult(page); }, };