browser_navigate
Navigate to specified web pages using browser automation within Windows systems. This tool directs browsers to URLs for automated testing, data extraction, or workflow automation.
Instructions
导航到网页
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | 网页 URL | |
| sessionId | No | 会话 ID(可选) |
Implementation Reference
- src/tools/browser.js:169-183 (handler)Core handler function that navigates to the specified URL using Puppeteer page.goto(), waits for network idle, retrieves page title, and returns structured result.async navigate(url, sessionId = 'default') { try { const page = this.pages.get(sessionId); if (!page) { return { success: false, error: '浏览器未启动,请先调用 browser_launch' }; } await page.goto(url, { waitUntil: 'networkidle2' }); const title = await page.title(); return { success: true, url, title, message: '导航成功' }; } catch (error) { return { success: false, error: error.message }; } }
- src/tools/browser.js:38-49 (schema)Input schema definition for the browser_navigate tool, specifying required 'url' parameter and optional 'sessionId'.{ name: 'browser_navigate', description: '导航到网页', inputSchema: { type: 'object', properties: { url: { type: 'string', description: '网页 URL' }, sessionId: { type: 'string', description: '会话 ID(可选)' }, }, required: ['url'], }, },
- src/tools/browser.js:112-116 (registration)Registers browser_navigate in the canHandle method for tool routing in the server.canHandle(toolName) { const tools = ['browser_launch', 'browser_navigate', 'browser_click', 'browser_type', 'browser_screenshot', 'browser_get_text', 'browser_close']; return tools.includes(toolName); }
- src/tools/browser.js:118-144 (registration)executeTool method with switch case that registers and dispatches browser_navigate to its handler.async executeTool(name, args) { if (!this.puppeteerAvailable) { return { success: false, error: 'puppeteer 未安装。请运行: npm install puppeteer' }; } switch (name) { case 'browser_launch': return await this.launchBrowser(args.headless, args.sessionId); case 'browser_navigate': return await this.navigate(args.url, args.sessionId); case 'browser_click': return await this.click(args.selector, args.sessionId); case 'browser_type': return await this.type(args.selector, args.text, args.sessionId); case 'browser_screenshot': return await this.screenshot(args.path, args.fullPage, args.sessionId); case 'browser_get_text': return await this.getText(args.selector, args.sessionId); case 'browser_close': return await this.closeBrowser(args.sessionId); default: throw new Error(`未知工具: ${name}`); } }
- src/server.js:43-52 (registration)Instantiates and registers BrowserTools instance in the MCP server's tools collection for discovery and execution.this.tools = { filesystem: new FileSystemTools(), process: new ProcessTools(), mouseKeyboard: new MouseKeyboardTools(), window: new WindowTools(), screen: new ScreenTools(), clipboard: new ClipboardTools(), powershell: new PowerShellTools(), browser: new BrowserTools(), };