browser_handle_dialog
Automatically manage browser dialogs like alerts, confirmations, and prompts during automation.
Instructions
browser handle dialog
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/browser_tools.js:710-740 (handler)The actual handler function for browser_handle_dialog. Uses Playwright's page.once('dialog') to register a dialog handler that either accepts (optionally with promptText) or dismisses the dialog.
/** * Handle browser dialogs */ async function browserHandleDialog(accept, promptText) { try { const page = await getPage(); // Set up dialog handler page.once('dialog', async dialog => { if (accept) { await dialog.accept(promptText || ''); } else { await dialog.dismiss(); } }); return { success: true, message: `Dialog handler set: ${accept ? 'accept' : 'dismiss'}`, accept, promptText }; } catch (error) { logger.error(`Error handling dialog: ${error.message}`); return { success: false, message: error.message }; } } - src/mcp/server.js:127-133 (registration)Registration of browser_handle_dialog as an extended browser tool in the tools/list schema response.
const browserExtras = [ { n:'browser_navigate_back' }, { n:'browser_navigate_forward' }, { n:'browser_hover' }, { n:'browser_drag' }, { n:'browser_select_option' }, { n:'browser_press_key' }, { n:'browser_snapshot' }, { n:'browser_console_messages' }, { n:'browser_network_requests' }, { n:'browser_tab_list' }, { n:'browser_tab_new' }, { n:'browser_tab_select' }, { n:'browser_tab_close' }, { n:'browser_file_upload' }, { n:'browser_wait' }, { n:'browser_wait_for' }, { n:'browser_resize' }, { n:'browser_handle_dialog' } ]; - src/mcp/server.js:291-291 (registration)The switch-case dispatch that calls browserTools.browserHandleDialog(args.accept, args.promptText) when tool name matches 'browser_handle_dialog'.
case 'browser_handle_dialog': data = await browserTools.browserHandleDialog(args.accept, args.promptText); break; - src/tools/browser_tools.js:88-100 (helper)Helper function getPage() used by the handler to get or create the current Playwright page.
/** * Get current page or create new one */ async function getPage() { if (!page || page.isClosed()) { const browser = await getBrowser(); if (!context) { context = await browser.newContext(); } page = await context.newPage(); } return page; }