browser_select
Select an option from a dropdown menu by providing a CSS selector and the value or label to select. Part of Browser Agent MCP for autonomous browser automation.
Instructions
Select an option from a dropdown menu
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for select element | |
| value | Yes | Value or label to select |
Implementation Reference
- src/executor.ts:404-428 (handler)The main handler function that executes the browser_select tool logic. It waits for the selector to be present on the page, then selects the specified option value in the dropdown. Returns a success message or an error message.
async function handleBrowserSelect(page: Page, args: any): Promise<{ toolResult: CallToolResult }> { try { await page.waitForSelector(args.selector); await page.selectOption(args.selector, args.value); return { toolResult: { content: [{ type: "text", text: `Selected option ${args.value} in ${args.selector}`, }], isError: false, }, }; } catch (error) { return { toolResult: { content: [{ type: "text", text: `Selection failed on ${args.selector}: ${(error as Error).message}`, }], isError: true, }, }; } } - src/tools.ts:96-107 (schema)Input schema definition for browser_select tool. Defines two required properties: 'selector' (CSS selector for the select element) and 'value' (value or label to select).
{ name: "browser_select", description: "Select an option from a dropdown menu", inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for select element" }, value: { type: "string", description: "Value or label to select" } }, required: ["selector", "value"] } }, - src/tools.ts:3-12 (registration)The BROWSER_TOOLS array listing 'browser_select' as a registered browser tool name.
export const BROWSER_TOOLS = [ "browser_navigate", "browser_screenshot", "browser_click", "browser_fill", "browser_select", "browser_hover", "browser_evaluate", "browser_set_viewport" ]; - src/executor.ts:200-201 (registration)The switch-case dispatch in executeToolCall that routes 'browser_select' to handleBrowserSelect.
case "browser_select": return await handleBrowserSelect(activePage!, args);