browser_pick
Select an option from a dropdown or select element. Works with native HTML select elements and dynamic/custom dropdowns (like select2, react-select). Specify the option by its value or visible text. Automatically handles opening the dropdown and selecting the option.
When to use browser_pick
Use browser_pick when you need to simulate real human interaction with page elements. It is part of Owl Browser's Page Interaction toolset and runs inside a self-hosted, source-level stealth engine, so every call inherits the same undetectable browser fingerprint as the rest of your automation — no separate anti-detect setup required.
Usage Example
Parameters
Required
context_idstringrequiredThe unique identifier of the browser context (e.g., 'ctx_000001')
selectorstringrequiredThe dropdown/select element. Accepts any of: an OwlMark handle token from browser_observe (e.g. 'b7', 'l3', 'x2'), the most reliable target on an agent-rendered page; a CSS selector (e.g. '#submit-btn', '.nav-link', 'input[name="user"]'); viewport coordinates as 'XxY' (e.g. '100x200'); or a natural-language description (e.g. 'the login button'), resolved by the built-in semantic matcher.
valuestringrequiredThe option to select. Can be the option's value attribute OR the visible display text. Works with both native select elements and dynamic dropdowns (select2, etc.)
Optional
verification_levelstringHow thoroughly to verify the selection took effect: 'none', 'basic', 'standard', 'strict'. Default: 'standard'
Response
Returns a JSON object with the operation result.
{
"success": true,
"result": <value>
}Frequently Asked Questions
What does browser_pick do?
Select an option from a dropdown or select element. Works with native HTML select elements and dynamic/custom dropdowns (like select2, react-select). Specify the option by its value or visible text. Automatically handles opening the dropdown and selecting the option. It belongs to Owl Browser's Page Interaction category and is available through the REST API, the Python SDK (browser.pick()), the Node.js SDK, and the MCP server.
What parameters does browser_pick accept?
browser_pick accepts 3 required parameters (context_id, selector, value) and 1 optional parameter. All parameters are sent as JSON in a POST request to /api/execute/browser_pick.
Is browser_pick detectable by anti-bot systems like Cloudflare or DataDome?
No. browser_pick executes inside Owl Browser's Chromium engine, which applies fingerprint spoofing at the C++ source level rather than through JavaScript patches. Every tool call shares the same consistent, human-like fingerprint, so anti-bot systems such as Cloudflare, DataDome, and Akamai see an ordinary browser.
Related Tools
browser_clickClick on an element using CSS selector, XY coordinates, or natural language description. Supports semantic element finding using AI - describe what you want to click (e.g., 'login button', 'search icon') and the system will locate the right element. Simulates a real mouse click with proper event dispatch. Optionally hold the mouse button for press-and-hold interactions using hold_ms.
browser_typeType text into an input field with human-like keystroke simulation. Target the field using CSS selector, coordinates, or natural language (e.g., 'email field'). When selector is omitted, types into the currently focused element. Note: Does NOT clear existing content - use browser_clear_input first if you need to replace text rather than append.
browser_press_keyPress a keyboard key. Supports special keys (Enter, Tab, Escape, arrow keys, etc.) and single characters (a-z, A-Z, 0-9). The key is sent to the currently focused element. Common uses: Enter to submit forms, Tab to move between fields, Escape to close modals, Arrow keys for navigation in menus or sliders, or single characters for keyboard shortcuts.
browser_submit_formSubmit the currently focused form by simulating an Enter key press. Equivalent to pressing Enter in a form field. Useful for search boxes and forms that submit on Enter. The form must have a focused input element.
browser_drag_dropPerform a mouse drag operation from start coordinates to end coordinates. Used for slider CAPTCHAs, puzzle solving, canvas drawing, and custom drag interactions. Uses realistic mouse movement with bezier curves. For HTML5 draggable elements, use browser_html5_drag_drop instead.
browser_html5_drag_dropPerform HTML5 drag and drop using proper DragEvent dispatch. Use this for elements with draggable='true' attribute, sortable lists, and interfaces using the HTML5 Drag and Drop API. Dispatches dragstart, dragover, drop, and dragend events in the correct sequence.