@olib-ai/owl-browser-mcp 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +327 -35
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -20369,11 +20369,11 @@ var openapi_default = {
|
|
|
20369
20369
|
info: {
|
|
20370
20370
|
title: "Owl Browser API",
|
|
20371
20371
|
description: "REST API for browser automation with anti-detection capabilities",
|
|
20372
|
-
version: "1.0.
|
|
20372
|
+
version: "1.0.9"
|
|
20373
20373
|
},
|
|
20374
20374
|
servers: [
|
|
20375
20375
|
{
|
|
20376
|
-
url: "http://
|
|
20376
|
+
url: "http://127.0.0.1:8080",
|
|
20377
20377
|
description: "Current server"
|
|
20378
20378
|
}
|
|
20379
20379
|
],
|
|
@@ -21005,10 +21005,54 @@ var openapi_default = {
|
|
|
21005
21005
|
}
|
|
21006
21006
|
}
|
|
21007
21007
|
},
|
|
21008
|
+
"/api/execute/browser_set_content": {
|
|
21009
|
+
post: {
|
|
21010
|
+
summary: "Browser Set Content",
|
|
21011
|
+
description: "Set the page's HTML content directly. Replaces the current page content with the provided HTML. The page URL will be 'about:blank'. Useful for rendering HTML templates, testing, or injecting content without making a network request.",
|
|
21012
|
+
tags: [
|
|
21013
|
+
"General"
|
|
21014
|
+
],
|
|
21015
|
+
requestBody: {
|
|
21016
|
+
required: true,
|
|
21017
|
+
content: {
|
|
21018
|
+
"application/json": {
|
|
21019
|
+
schema: {
|
|
21020
|
+
type: "object",
|
|
21021
|
+
properties: {
|
|
21022
|
+
context_id: {
|
|
21023
|
+
type: "string",
|
|
21024
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
21025
|
+
},
|
|
21026
|
+
html: {
|
|
21027
|
+
type: "string",
|
|
21028
|
+
description: "The HTML content to set as the page body. Can be a full HTML document or a fragment. The page URL will be set to 'about:blank'"
|
|
21029
|
+
}
|
|
21030
|
+
},
|
|
21031
|
+
required: [
|
|
21032
|
+
"context_id",
|
|
21033
|
+
"html"
|
|
21034
|
+
]
|
|
21035
|
+
}
|
|
21036
|
+
}
|
|
21037
|
+
}
|
|
21038
|
+
},
|
|
21039
|
+
responses: {
|
|
21040
|
+
"200": {
|
|
21041
|
+
description: "Successful response"
|
|
21042
|
+
},
|
|
21043
|
+
"400": {
|
|
21044
|
+
description: "Bad request"
|
|
21045
|
+
},
|
|
21046
|
+
"401": {
|
|
21047
|
+
description: "Unauthorized"
|
|
21048
|
+
}
|
|
21049
|
+
}
|
|
21050
|
+
}
|
|
21051
|
+
},
|
|
21008
21052
|
"/api/execute/browser_click": {
|
|
21009
21053
|
post: {
|
|
21010
21054
|
summary: "Browser Click",
|
|
21011
|
-
description: "Click 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.",
|
|
21055
|
+
description: "Click 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.",
|
|
21012
21056
|
tags: [
|
|
21013
21057
|
"General"
|
|
21014
21058
|
],
|
|
@@ -21026,6 +21070,14 @@ var openapi_default = {
|
|
|
21026
21070
|
selector: {
|
|
21027
21071
|
type: "string",
|
|
21028
21072
|
description: "Target element to click. Accepts: CSS selector (e.g., '#submit-btn', '.nav-link'), XY coordinates as 'Xx Y' (e.g., '100x200'), or natural language description (e.g., 'login button', 'search icon'). Semantic descriptions use AI to find the element"
|
|
21073
|
+
},
|
|
21074
|
+
hold_ms: {
|
|
21075
|
+
type: "string",
|
|
21076
|
+
description: "Duration in milliseconds to hold the mouse button down before releasing. Use for press-and-hold interactions (e.g., long press menus, drag initiation). Default: 0 (immediate click)"
|
|
21077
|
+
},
|
|
21078
|
+
index: {
|
|
21079
|
+
type: "string",
|
|
21080
|
+
description: "When multiple elements match the selector, click the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Default: -1 (first match)"
|
|
21029
21081
|
}
|
|
21030
21082
|
},
|
|
21031
21083
|
required: [
|
|
@@ -21052,7 +21104,7 @@ var openapi_default = {
|
|
|
21052
21104
|
"/api/execute/browser_type": {
|
|
21053
21105
|
post: {
|
|
21054
21106
|
summary: "Browser Type",
|
|
21055
|
-
description: "Type text into an input field with human-like keystroke simulation. Target the field using CSS selector, coordinates, or natural language (e.g., 'email field'). Note: Does NOT clear existing content - use browser_clear_input first if you need to replace text rather than append.",
|
|
21107
|
+
description: "Type 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.",
|
|
21056
21108
|
tags: [
|
|
21057
21109
|
"General"
|
|
21058
21110
|
],
|
|
@@ -21069,16 +21121,19 @@ var openapi_default = {
|
|
|
21069
21121
|
},
|
|
21070
21122
|
selector: {
|
|
21071
21123
|
type: "string",
|
|
21072
|
-
description: `Target input field. Accepts: CSS selector (e.g., '#email', 'input[name="username"]'), XY coordinates (e.g., '100x200'), or natural language description (e.g., 'email field', 'search box')`
|
|
21124
|
+
description: `Target input field. Accepts: CSS selector (e.g., '#email', 'input[name="username"]'), XY coordinates (e.g., '100x200'), or natural language description (e.g., 'email field', 'search box'). When omitted, types into the currently focused element (document.activeElement)`
|
|
21073
21125
|
},
|
|
21074
21126
|
text: {
|
|
21075
21127
|
type: "string",
|
|
21076
21128
|
description: "The text to type into the input field. Simulates real keystrokes with human-like timing. Existing content is NOT cleared - use browser_clear_input first if needed"
|
|
21129
|
+
},
|
|
21130
|
+
index: {
|
|
21131
|
+
type: "string",
|
|
21132
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Uses querySelectorAll()[index] instead of querySelector(). Default: -1 (first match)"
|
|
21077
21133
|
}
|
|
21078
21134
|
},
|
|
21079
21135
|
required: [
|
|
21080
21136
|
"context_id",
|
|
21081
|
-
"selector",
|
|
21082
21137
|
"text"
|
|
21083
21138
|
]
|
|
21084
21139
|
}
|
|
@@ -21150,7 +21205,7 @@ var openapi_default = {
|
|
|
21150
21205
|
"/api/execute/browser_press_key": {
|
|
21151
21206
|
post: {
|
|
21152
21207
|
summary: "Browser Press Key",
|
|
21153
|
-
description: "Press a
|
|
21208
|
+
description: "Press 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.",
|
|
21154
21209
|
tags: [
|
|
21155
21210
|
"General"
|
|
21156
21211
|
],
|
|
@@ -21167,30 +21222,7 @@ var openapi_default = {
|
|
|
21167
21222
|
},
|
|
21168
21223
|
key: {
|
|
21169
21224
|
type: "string",
|
|
21170
|
-
description: "
|
|
21171
|
-
enum: [
|
|
21172
|
-
"Enter",
|
|
21173
|
-
"Return",
|
|
21174
|
-
"Tab",
|
|
21175
|
-
"Escape",
|
|
21176
|
-
"Esc",
|
|
21177
|
-
"Backspace",
|
|
21178
|
-
"Delete",
|
|
21179
|
-
"Del",
|
|
21180
|
-
"ArrowUp",
|
|
21181
|
-
"Up",
|
|
21182
|
-
"ArrowDown",
|
|
21183
|
-
"Down",
|
|
21184
|
-
"ArrowLeft",
|
|
21185
|
-
"Left",
|
|
21186
|
-
"ArrowRight",
|
|
21187
|
-
"Right",
|
|
21188
|
-
"Space",
|
|
21189
|
-
"Home",
|
|
21190
|
-
"End",
|
|
21191
|
-
"PageUp",
|
|
21192
|
-
"PageDown"
|
|
21193
|
-
]
|
|
21225
|
+
description: "Key to press. Supports special keys: 'Enter', 'Tab', 'Escape', 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Space', 'Home', 'End', 'PageUp', 'PageDown'. Also supports single characters: 'a'-'z', 'A'-'Z', '0'-'9'. The key is sent to the currently focused element"
|
|
21194
21226
|
}
|
|
21195
21227
|
},
|
|
21196
21228
|
required: [
|
|
@@ -21453,6 +21485,10 @@ var openapi_default = {
|
|
|
21453
21485
|
selector: {
|
|
21454
21486
|
type: "string",
|
|
21455
21487
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to hover over"
|
|
21488
|
+
},
|
|
21489
|
+
index: {
|
|
21490
|
+
type: "string",
|
|
21491
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21456
21492
|
}
|
|
21457
21493
|
},
|
|
21458
21494
|
required: [
|
|
@@ -21497,6 +21533,10 @@ var openapi_default = {
|
|
|
21497
21533
|
selector: {
|
|
21498
21534
|
type: "string",
|
|
21499
21535
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to double-click"
|
|
21536
|
+
},
|
|
21537
|
+
index: {
|
|
21538
|
+
type: "string",
|
|
21539
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21500
21540
|
}
|
|
21501
21541
|
},
|
|
21502
21542
|
required: [
|
|
@@ -21541,6 +21581,10 @@ var openapi_default = {
|
|
|
21541
21581
|
selector: {
|
|
21542
21582
|
type: "string",
|
|
21543
21583
|
description: "CSS selector, position coordinates (e.g., '100x200'), or natural language description of the element to right-click"
|
|
21584
|
+
},
|
|
21585
|
+
index: {
|
|
21586
|
+
type: "string",
|
|
21587
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21544
21588
|
}
|
|
21545
21589
|
},
|
|
21546
21590
|
required: [
|
|
@@ -21585,6 +21629,10 @@ var openapi_default = {
|
|
|
21585
21629
|
selector: {
|
|
21586
21630
|
type: "string",
|
|
21587
21631
|
description: "CSS selector or natural language description of the input element to clear"
|
|
21632
|
+
},
|
|
21633
|
+
index: {
|
|
21634
|
+
type: "string",
|
|
21635
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21588
21636
|
}
|
|
21589
21637
|
},
|
|
21590
21638
|
required: [
|
|
@@ -21629,6 +21677,10 @@ var openapi_default = {
|
|
|
21629
21677
|
selector: {
|
|
21630
21678
|
type: "string",
|
|
21631
21679
|
description: "CSS selector or natural language description of the element to focus"
|
|
21680
|
+
},
|
|
21681
|
+
index: {
|
|
21682
|
+
type: "string",
|
|
21683
|
+
description: "When multiple elements match the selector, target the Nth element (0-based). Default: -1 (first match)"
|
|
21632
21684
|
}
|
|
21633
21685
|
},
|
|
21634
21686
|
required: [
|
|
@@ -21854,6 +21906,10 @@ var openapi_default = {
|
|
|
21854
21906
|
selector: {
|
|
21855
21907
|
type: "string",
|
|
21856
21908
|
description: "CSS selector or natural language description of the element to check visibility for"
|
|
21909
|
+
},
|
|
21910
|
+
index: {
|
|
21911
|
+
type: "string",
|
|
21912
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21857
21913
|
}
|
|
21858
21914
|
},
|
|
21859
21915
|
required: [
|
|
@@ -21898,6 +21954,10 @@ var openapi_default = {
|
|
|
21898
21954
|
selector: {
|
|
21899
21955
|
type: "string",
|
|
21900
21956
|
description: "CSS selector or natural language description of the element to check enabled state for"
|
|
21957
|
+
},
|
|
21958
|
+
index: {
|
|
21959
|
+
type: "string",
|
|
21960
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21901
21961
|
}
|
|
21902
21962
|
},
|
|
21903
21963
|
required: [
|
|
@@ -21942,6 +22002,10 @@ var openapi_default = {
|
|
|
21942
22002
|
selector: {
|
|
21943
22003
|
type: "string",
|
|
21944
22004
|
description: "CSS selector or natural language description of the checkbox or radio button to check"
|
|
22005
|
+
},
|
|
22006
|
+
index: {
|
|
22007
|
+
type: "string",
|
|
22008
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
21945
22009
|
}
|
|
21946
22010
|
},
|
|
21947
22011
|
required: [
|
|
@@ -21965,6 +22029,151 @@ var openapi_default = {
|
|
|
21965
22029
|
}
|
|
21966
22030
|
}
|
|
21967
22031
|
},
|
|
22032
|
+
"/api/execute/browser_is_editable": {
|
|
22033
|
+
post: {
|
|
22034
|
+
summary: "Browser Is Editable",
|
|
22035
|
+
description: "Check if an element is editable (not disabled AND not readOnly). Returns 'editable' if the element can accept user input, 'not_editable' if it is disabled or read-only. More comprehensive than browser_is_enabled which only checks the disabled attribute.",
|
|
22036
|
+
tags: [
|
|
22037
|
+
"General"
|
|
22038
|
+
],
|
|
22039
|
+
requestBody: {
|
|
22040
|
+
required: true,
|
|
22041
|
+
content: {
|
|
22042
|
+
"application/json": {
|
|
22043
|
+
schema: {
|
|
22044
|
+
type: "object",
|
|
22045
|
+
properties: {
|
|
22046
|
+
context_id: {
|
|
22047
|
+
type: "string",
|
|
22048
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22049
|
+
},
|
|
22050
|
+
selector: {
|
|
22051
|
+
type: "string",
|
|
22052
|
+
description: "CSS selector or natural language description of the element to check editability for"
|
|
22053
|
+
},
|
|
22054
|
+
index: {
|
|
22055
|
+
type: "string",
|
|
22056
|
+
description: "When multiple elements match the selector, check the Nth element (0-based). Default: -1 (first match)"
|
|
22057
|
+
}
|
|
22058
|
+
},
|
|
22059
|
+
required: [
|
|
22060
|
+
"context_id",
|
|
22061
|
+
"selector"
|
|
22062
|
+
]
|
|
22063
|
+
}
|
|
22064
|
+
}
|
|
22065
|
+
}
|
|
22066
|
+
},
|
|
22067
|
+
responses: {
|
|
22068
|
+
"200": {
|
|
22069
|
+
description: "Successful response"
|
|
22070
|
+
},
|
|
22071
|
+
"400": {
|
|
22072
|
+
description: "Bad request"
|
|
22073
|
+
},
|
|
22074
|
+
"401": {
|
|
22075
|
+
description: "Unauthorized"
|
|
22076
|
+
}
|
|
22077
|
+
}
|
|
22078
|
+
}
|
|
22079
|
+
},
|
|
22080
|
+
"/api/execute/browser_count_elements": {
|
|
22081
|
+
post: {
|
|
22082
|
+
summary: "Browser Count Elements",
|
|
22083
|
+
description: "Count the number of elements matching a CSS selector. Returns the count as an integer. Useful for checking how many items exist (e.g., list items, search results, table rows) without extracting full element data.",
|
|
22084
|
+
tags: [
|
|
22085
|
+
"General"
|
|
22086
|
+
],
|
|
22087
|
+
requestBody: {
|
|
22088
|
+
required: true,
|
|
22089
|
+
content: {
|
|
22090
|
+
"application/json": {
|
|
22091
|
+
schema: {
|
|
22092
|
+
type: "object",
|
|
22093
|
+
properties: {
|
|
22094
|
+
context_id: {
|
|
22095
|
+
type: "string",
|
|
22096
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22097
|
+
},
|
|
22098
|
+
selector: {
|
|
22099
|
+
type: "string",
|
|
22100
|
+
description: `CSS selector to count matching elements (e.g., 'li.item', 'input[type="text"]', 'table tr')`
|
|
22101
|
+
}
|
|
22102
|
+
},
|
|
22103
|
+
required: [
|
|
22104
|
+
"context_id",
|
|
22105
|
+
"selector"
|
|
22106
|
+
]
|
|
22107
|
+
}
|
|
22108
|
+
}
|
|
22109
|
+
}
|
|
22110
|
+
},
|
|
22111
|
+
responses: {
|
|
22112
|
+
"200": {
|
|
22113
|
+
description: "Successful response"
|
|
22114
|
+
},
|
|
22115
|
+
"400": {
|
|
22116
|
+
description: "Bad request"
|
|
22117
|
+
},
|
|
22118
|
+
"401": {
|
|
22119
|
+
description: "Unauthorized"
|
|
22120
|
+
}
|
|
22121
|
+
}
|
|
22122
|
+
}
|
|
22123
|
+
},
|
|
22124
|
+
"/api/execute/browser_dispatch_event": {
|
|
22125
|
+
post: {
|
|
22126
|
+
summary: "Browser Dispatch Event",
|
|
22127
|
+
description: "Dispatch a DOM event on an element. Programmatically triggers events like 'input', 'change', 'focus', 'blur', 'submit', etc. Useful for triggering event handlers after programmatic value changes, or for simulating user interactions that don't involve mouse/keyboard input.",
|
|
22128
|
+
tags: [
|
|
22129
|
+
"General"
|
|
22130
|
+
],
|
|
22131
|
+
requestBody: {
|
|
22132
|
+
required: true,
|
|
22133
|
+
content: {
|
|
22134
|
+
"application/json": {
|
|
22135
|
+
schema: {
|
|
22136
|
+
type: "object",
|
|
22137
|
+
properties: {
|
|
22138
|
+
context_id: {
|
|
22139
|
+
type: "string",
|
|
22140
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22141
|
+
},
|
|
22142
|
+
selector: {
|
|
22143
|
+
type: "string",
|
|
22144
|
+
description: "CSS selector or natural language description of the element to dispatch the event on"
|
|
22145
|
+
},
|
|
22146
|
+
event_type: {
|
|
22147
|
+
type: "string",
|
|
22148
|
+
description: "The DOM event type to dispatch (e.g., 'click', 'input', 'change', 'focus', 'blur', 'submit', 'mouseenter', 'mouseleave'). Any valid DOM event name is accepted"
|
|
22149
|
+
},
|
|
22150
|
+
bubbles: {
|
|
22151
|
+
type: "boolean",
|
|
22152
|
+
description: "Whether the event should bubble up through the DOM tree. Default: true"
|
|
22153
|
+
}
|
|
22154
|
+
},
|
|
22155
|
+
required: [
|
|
22156
|
+
"context_id",
|
|
22157
|
+
"selector",
|
|
22158
|
+
"event_type"
|
|
22159
|
+
]
|
|
22160
|
+
}
|
|
22161
|
+
}
|
|
22162
|
+
}
|
|
22163
|
+
},
|
|
22164
|
+
responses: {
|
|
22165
|
+
"200": {
|
|
22166
|
+
description: "Successful response"
|
|
22167
|
+
},
|
|
22168
|
+
"400": {
|
|
22169
|
+
description: "Bad request"
|
|
22170
|
+
},
|
|
22171
|
+
"401": {
|
|
22172
|
+
description: "Unauthorized"
|
|
22173
|
+
}
|
|
22174
|
+
}
|
|
22175
|
+
}
|
|
22176
|
+
},
|
|
21968
22177
|
"/api/execute/browser_get_attribute": {
|
|
21969
22178
|
post: {
|
|
21970
22179
|
summary: "Browser Get Attribute",
|
|
@@ -21990,6 +22199,10 @@ var openapi_default = {
|
|
|
21990
22199
|
attribute: {
|
|
21991
22200
|
type: "string",
|
|
21992
22201
|
description: "The attribute name to retrieve (e.g., 'href', 'src', 'value', 'data-id', 'class')"
|
|
22202
|
+
},
|
|
22203
|
+
index: {
|
|
22204
|
+
type: "string",
|
|
22205
|
+
description: "When multiple elements match the selector, get attribute from the Nth element (0-based). Default: -1 (first match)"
|
|
21993
22206
|
}
|
|
21994
22207
|
},
|
|
21995
22208
|
required: [
|
|
@@ -22035,6 +22248,10 @@ var openapi_default = {
|
|
|
22035
22248
|
selector: {
|
|
22036
22249
|
type: "string",
|
|
22037
22250
|
description: "CSS selector or natural language description of the element to get position and size for"
|
|
22251
|
+
},
|
|
22252
|
+
index: {
|
|
22253
|
+
type: "string",
|
|
22254
|
+
description: "When multiple elements match the selector, get bounding box of the Nth element (0-based). Default: -1 (first match)"
|
|
22038
22255
|
}
|
|
22039
22256
|
},
|
|
22040
22257
|
required: [
|
|
@@ -22356,7 +22573,7 @@ var openapi_default = {
|
|
|
22356
22573
|
"/api/execute/browser_extract_text": {
|
|
22357
22574
|
post: {
|
|
22358
22575
|
summary: "Browser Extract Text",
|
|
22359
|
-
description: "Extract visible text content from the page or a specific element. Returns plain text stripped of HTML tags. Optionally target a specific element using CSS selector or natural language description. Optionally apply a regex pattern to filter/extract specific content from the text. Useful for reading page content, extracting article text, getting form values, or extracting specific data like numbers, emails, or prices.",
|
|
22576
|
+
description: "Extract visible text content from the page or a specific element. Returns plain text stripped of HTML tags. Optionally target a specific element using CSS selector or natural language description. When the selector matches multiple elements, returns a JSON array of text strings. Optionally apply a regex pattern to filter/extract specific content from the text (applied per-element when multiple matches). Useful for reading page content, extracting article text, getting form values, or extracting specific data like numbers, emails, or prices.",
|
|
22360
22577
|
tags: [
|
|
22361
22578
|
"General"
|
|
22362
22579
|
],
|
|
@@ -22373,7 +22590,7 @@ var openapi_default = {
|
|
|
22373
22590
|
},
|
|
22374
22591
|
selector: {
|
|
22375
22592
|
type: "string",
|
|
22376
|
-
description: "Optional CSS selector or natural language description to extract text from a specific element. If omitted, extracts all visible text from the entire page. Examples: '#main-content', '
|
|
22593
|
+
description: "Optional CSS selector or natural language description to extract text from a specific element. If omitted, extracts all visible text from the entire page. When the selector matches multiple elements, returns a JSON array of text strings (one per element). Examples: '#main-content', '.product-name', 'article'"
|
|
22377
22594
|
},
|
|
22378
22595
|
regex: {
|
|
22379
22596
|
type: "string",
|
|
@@ -22382,6 +22599,10 @@ var openapi_default = {
|
|
|
22382
22599
|
regex_group: {
|
|
22383
22600
|
type: "string",
|
|
22384
22601
|
description: "Which capture group to return from the regex match. 0 returns the full match (default), 1 returns the first capture group, 2 returns the second, etc. Example: with regex 'FP ID:\\\\s*(\\\\S+)' and regex_group=1, only the ID value is returned."
|
|
22602
|
+
},
|
|
22603
|
+
index: {
|
|
22604
|
+
type: "string",
|
|
22605
|
+
description: "When multiple elements match the selector, extract text from the Nth element (0-based) instead of returning all. Default: not set (returns all matches as array). Set to 0 for first, 1 for second, -1 for last."
|
|
22385
22606
|
}
|
|
22386
22607
|
},
|
|
22387
22608
|
required: [
|
|
@@ -22489,6 +22710,10 @@ var openapi_default = {
|
|
|
22489
22710
|
background_color: {
|
|
22490
22711
|
type: "string",
|
|
22491
22712
|
description: "CSS color for the highlight background (use alpha for transparency). Default: 'rgba(255, 0, 0, 0.2)'. Examples: 'rgba(0, 255, 0, 0.3)', 'transparent'"
|
|
22713
|
+
},
|
|
22714
|
+
index: {
|
|
22715
|
+
type: "string",
|
|
22716
|
+
description: "When multiple elements match the selector, highlight the Nth element (0-based). Default: -1 (first match)"
|
|
22492
22717
|
}
|
|
22493
22718
|
},
|
|
22494
22719
|
required: [
|
|
@@ -22570,7 +22795,7 @@ var openapi_default = {
|
|
|
22570
22795
|
"/api/execute/browser_get_html": {
|
|
22571
22796
|
post: {
|
|
22572
22797
|
summary: "Browser Get Html",
|
|
22573
|
-
description: "Extract
|
|
22798
|
+
description: "Extract HTML content with configurable cleaning levels. Optionally target a specific element using a CSS selector to get its innerHTML instead of the full page. When the selector matches multiple elements, returns a JSON array of HTML strings. 'minimal' preserves most structure, 'basic' removes scripts and styles, 'aggressive' strips to essential content. Useful for page analysis, content extraction, and feeding HTML to other processing tools.",
|
|
22574
22799
|
tags: [
|
|
22575
22800
|
"General"
|
|
22576
22801
|
],
|
|
@@ -22585,6 +22810,10 @@ var openapi_default = {
|
|
|
22585
22810
|
type: "string",
|
|
22586
22811
|
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
22587
22812
|
},
|
|
22813
|
+
selector: {
|
|
22814
|
+
type: "string",
|
|
22815
|
+
description: "Optional CSS selector to get innerHTML of a specific element (e.g., '#content', '.article-body'). When the selector matches multiple elements, returns a JSON array of HTML strings (one per element). When omitted, returns the full page HTML"
|
|
22816
|
+
},
|
|
22588
22817
|
clean_level: {
|
|
22589
22818
|
type: "string",
|
|
22590
22819
|
description: "Level of HTML cleaning to apply. 'minimal': preserves most structure, 'basic': removes scripts/styles (default), 'aggressive': strips to essential content only. Choose based on how much structure you need",
|
|
@@ -22867,7 +23096,7 @@ var openapi_default = {
|
|
|
22867
23096
|
"/api/execute/browser_extract_json": {
|
|
22868
23097
|
post: {
|
|
22869
23098
|
summary: "Browser Extract Json",
|
|
22870
|
-
description: "Extract structured data from the page
|
|
23099
|
+
description: "Extract structured data from the page as JSON. For known sites (Google, Amazon, Wikipedia, etc.) uses predefined templates. For unknown sites, uses smart DOM analysis to detect repeating items (products, posts, search results) and extract fields (title, link, image, price, rating, date, description). Use 'selector' to scope extraction to a specific container. Returns page type, items array, structured LD+JSON data, and meta tags.",
|
|
22871
23100
|
tags: [
|
|
22872
23101
|
"General"
|
|
22873
23102
|
],
|
|
@@ -22885,6 +23114,10 @@ var openapi_default = {
|
|
|
22885
23114
|
template: {
|
|
22886
23115
|
type: "string",
|
|
22887
23116
|
description: "Extraction template name for known site types. Available: 'google_search', 'wikipedia', 'amazon_product', 'github_repo', 'twitter_feed', 'reddit_thread'. Leave empty for auto-detection based on URL"
|
|
23117
|
+
},
|
|
23118
|
+
selector: {
|
|
23119
|
+
type: "string",
|
|
23120
|
+
description: "CSS selector to scope extraction to a specific container (e.g., 'div.product-grid', '#results'). When set, only elements within this container are analyzed for repeating patterns"
|
|
22888
23121
|
}
|
|
22889
23122
|
},
|
|
22890
23123
|
required: [
|
|
@@ -23485,6 +23718,10 @@ var openapi_default = {
|
|
|
23485
23718
|
selector: {
|
|
23486
23719
|
type: "string",
|
|
23487
23720
|
description: "CSS selector or natural language description of the element to scroll into view. Examples: '#footer', '.product-reviews', 'the comments section'"
|
|
23721
|
+
},
|
|
23722
|
+
index: {
|
|
23723
|
+
type: "string",
|
|
23724
|
+
description: "When multiple elements match the selector, scroll to the Nth element (0-based). Default: -1 (first match)"
|
|
23488
23725
|
}
|
|
23489
23726
|
},
|
|
23490
23727
|
required: [
|
|
@@ -23611,6 +23848,10 @@ var openapi_default = {
|
|
|
23611
23848
|
timeout: {
|
|
23612
23849
|
type: "string",
|
|
23613
23850
|
description: "Maximum time to wait in milliseconds. Returns error if element doesn't appear within this time. Default: 5000 (5 seconds)"
|
|
23851
|
+
},
|
|
23852
|
+
index: {
|
|
23853
|
+
type: "string",
|
|
23854
|
+
description: "When multiple elements match the selector, wait for the Nth element (0-based). Default: -1 (first match)"
|
|
23614
23855
|
}
|
|
23615
23856
|
},
|
|
23616
23857
|
required: [
|
|
@@ -27164,6 +27405,57 @@ var openapi_default = {
|
|
|
27164
27405
|
}
|
|
27165
27406
|
}
|
|
27166
27407
|
},
|
|
27408
|
+
"/api/execute/browser_get_page_map": {
|
|
27409
|
+
post: {
|
|
27410
|
+
summary: "Browser Get Page Map",
|
|
27411
|
+
description: "Get a compact structured map of all interactive elements on the page, grouped by sections. Returns a markdown table with numbered references, types, descriptions, current values, and selectors. Use element numbers as selectors in browser_click and browser_type (e.g., selector '5'). 10x cheaper than screenshots for AI agent page understanding.",
|
|
27412
|
+
tags: [
|
|
27413
|
+
"General"
|
|
27414
|
+
],
|
|
27415
|
+
requestBody: {
|
|
27416
|
+
required: true,
|
|
27417
|
+
content: {
|
|
27418
|
+
"application/json": {
|
|
27419
|
+
schema: {
|
|
27420
|
+
type: "object",
|
|
27421
|
+
properties: {
|
|
27422
|
+
context_id: {
|
|
27423
|
+
type: "string",
|
|
27424
|
+
description: "The unique identifier of the browser context (e.g., 'ctx_000001')"
|
|
27425
|
+
},
|
|
27426
|
+
intent: {
|
|
27427
|
+
type: "string",
|
|
27428
|
+
description: "Task description to boost matching elements (e.g., 'buy nvidia jetson')"
|
|
27429
|
+
},
|
|
27430
|
+
max_elements: {
|
|
27431
|
+
type: "string",
|
|
27432
|
+
description: "Maximum number of elements to return (0 = unlimited). Returns top N by importance score"
|
|
27433
|
+
},
|
|
27434
|
+
region: {
|
|
27435
|
+
type: "string",
|
|
27436
|
+
description: "Filter to specific page region: 'main', 'nav', 'header', 'footer', 'sidebar', 'article', 'form', 'dialog'. Empty = all regions"
|
|
27437
|
+
}
|
|
27438
|
+
},
|
|
27439
|
+
required: [
|
|
27440
|
+
"context_id"
|
|
27441
|
+
]
|
|
27442
|
+
}
|
|
27443
|
+
}
|
|
27444
|
+
}
|
|
27445
|
+
},
|
|
27446
|
+
responses: {
|
|
27447
|
+
"200": {
|
|
27448
|
+
description: "Successful response"
|
|
27449
|
+
},
|
|
27450
|
+
"400": {
|
|
27451
|
+
description: "Bad request"
|
|
27452
|
+
},
|
|
27453
|
+
"401": {
|
|
27454
|
+
description: "Unauthorized"
|
|
27455
|
+
}
|
|
27456
|
+
}
|
|
27457
|
+
}
|
|
27458
|
+
},
|
|
27167
27459
|
"/api/execute/browser_get_blocker_stats": {
|
|
27168
27460
|
post: {
|
|
27169
27461
|
summary: "Browser Get Blocker Stats",
|