Skip to main content
Glama
open-page.ts1.63 kB
import { getBrowsers, getPages, generatePageId, PageInstance } from "../browser-instances" export async function openPage(browserId: string, url?: string) { const browsers = getBrowsers() const browserInstance = browsers[browserId] if (!browserInstance) { return JSON.stringify({ success: false, error: `Browser with ID '${browserId}' not found`, }, null, 2) } const { browser } = browserInstance if (!browser.isConnected()) { return JSON.stringify({ success: false, error: `Browser '${browserId}' is not connected`, }, null, 2) } // Create a new page const page = await browser.newPage() // Generate unique ID for this page instance const pageId = generatePageId() // Store page instance const pages = getPages() const pageInstance: PageInstance = { id: pageId, page, browserId, createdAt: new Date(), } pages[pageId] = pageInstance // Navigate to URL if provided if (url) { try { await page.goto(url, { waitUntil: 'networkidle2' }) } catch (error) { // If navigation fails, still return success but include a warning return JSON.stringify({ success: true, pageId, browserId, message: `Page created successfully with ID: ${pageId}`, warning: `Failed to navigate to ${url}: ${error instanceof Error ? error.message : 'Unknown error'}`, url: page.url(), }, null, 2) } } return JSON.stringify({ success: true, pageId, browserId, message: `Page created successfully with ID: ${pageId}`, url: page.url(), }, null, 2) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matiasngf/mcp-fetch'

If you have feedback or need assistance with the MCP directory API, please join our Discord server