browser_drag_drop
Perform 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.
When to use browser_drag_drop
Use browser_drag_drop 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')
start_xnumberrequiredX coordinate (in pixels from left edge) where the drag starts. Use browser_get_bounding_box to find element positions
start_ynumberrequiredY coordinate (in pixels from top edge) where the drag starts
end_xnumberrequiredX coordinate (in pixels from left edge) where the drag ends (drop location)
end_ynumberrequiredY coordinate (in pixels from top edge) where the drag ends (drop location)
Optional
mid_pointsarrayOptional array of intermediate [x, y] coordinates for the drag path. Creates a more realistic drag movement through multiple waypoints. Format: [[x1, y1], [x2, y2], ...]. Example: [[300, 200], [400, 250]]
Response
Returns a JSON object with the operation result.
{
"success": true,
"result": <value>
}Frequently Asked Questions
What does browser_drag_drop do?
Perform 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. It belongs to Owl Browser's Page Interaction category and is available through the REST API, the Python SDK (browser.drag_drop()), the Node.js SDK, and the MCP server.
What parameters does browser_drag_drop accept?
browser_drag_drop accepts 5 required parameters (context_id, start_x, start_y, end_x, end_y) and 1 optional parameter. All parameters are sent as JSON in a POST request to /api/execute/browser_drag_drop.
Is browser_drag_drop detectable by anti-bot systems like Cloudflare or DataDome?
No. browser_drag_drop 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_pickSelect 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.
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_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.