@pyrokine/mcp-chrome 1.1.0 → 1.4.0
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/README.md +130 -54
- package/dist/anti-detection/behavior.d.ts +0 -8
- package/dist/anti-detection/behavior.d.ts.map +1 -1
- package/dist/anti-detection/behavior.js +0 -16
- package/dist/anti-detection/behavior.js.map +1 -1
- package/dist/cdp/client.d.ts +0 -2
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +30 -45
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/launcher.d.ts +1 -8
- package/dist/cdp/launcher.d.ts.map +1 -1
- package/dist/cdp/launcher.js +11 -21
- package/dist/cdp/launcher.js.map +1 -1
- package/dist/core/auto-wait.d.ts +2 -2
- package/dist/core/auto-wait.d.ts.map +1 -1
- package/dist/core/auto-wait.js +1 -1
- package/dist/core/auto-wait.js.map +1 -1
- package/dist/core/errors.d.ts +10 -13
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +19 -25
- package/dist/core/errors.js.map +1 -1
- package/dist/core/locator.d.ts +6 -7
- package/dist/core/locator.d.ts.map +1 -1
- package/dist/core/locator.js +77 -31
- package/dist/core/locator.js.map +1 -1
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +1 -1
- package/dist/core/retry.js.map +1 -1
- package/dist/core/session.d.ts +37 -33
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +159 -116
- package/dist/core/session.js.map +1 -1
- package/dist/core/types.d.ts +25 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +20 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/unified-session.d.ts +105 -67
- package/dist/core/unified-session.d.ts.map +1 -1
- package/dist/core/unified-session.js +347 -186
- package/dist/core/unified-session.js.map +1 -1
- package/dist/extension/bridge.d.ts +25 -19
- package/dist/extension/bridge.d.ts.map +1 -1
- package/dist/extension/bridge.js +29 -52
- package/dist/extension/bridge.js.map +1 -1
- package/dist/extension/http-server.d.ts +13 -11
- package/dist/extension/http-server.d.ts.map +1 -1
- package/dist/extension/http-server.js +101 -95
- package/dist/extension/http-server.js.map +1 -1
- package/dist/index.js +18 -64
- package/dist/index.js.map +1 -1
- package/dist/tools/browse.d.ts +3 -80
- package/dist/tools/browse.d.ts.map +1 -1
- package/dist/tools/browse.js +135 -291
- package/dist/tools/browse.js.map +1 -1
- package/dist/tools/cookies.d.ts +3 -71
- package/dist/tools/cookies.d.ts.map +1 -1
- package/dist/tools/cookies.js +75 -157
- package/dist/tools/cookies.js.map +1 -1
- package/dist/tools/evaluate.d.ts +3 -52
- package/dist/tools/evaluate.d.ts.map +1 -1
- package/dist/tools/evaluate.js +35 -86
- package/dist/tools/evaluate.js.map +1 -1
- package/dist/tools/extract.d.ts +5 -227
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +586 -184
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/index.d.ts +9 -9
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/input.d.ts +3 -258
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +95 -147
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/logs.d.ts +3 -51
- package/dist/tools/logs.d.ts.map +1 -1
- package/dist/tools/logs.js +47 -108
- package/dist/tools/logs.js.map +1 -1
- package/dist/tools/manage.d.ts +3 -64
- package/dist/tools/manage.d.ts.map +1 -1
- package/dist/tools/manage.js +243 -373
- package/dist/tools/manage.js.map +1 -1
- package/dist/tools/schema.d.ts +16 -182
- package/dist/tools/schema.d.ts.map +1 -1
- package/dist/tools/schema.js +70 -159
- package/dist/tools/schema.js.map +1 -1
- package/dist/tools/wait.d.ts +3 -221
- package/dist/tools/wait.d.ts.map +1 -1
- package/dist/tools/wait.js +74 -145
- package/dist/tools/wait.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
English | [中文](README_zh.md)
|
|
4
4
|
|
|
5
|
-
Chrome browser automation MCP Server with dual-mode architecture: **Extension mode** (recommended) controls your
|
|
5
|
+
Chrome browser automation MCP Server with dual-mode architecture: **Extension mode** (recommended) controls your
|
|
6
|
+
existing browser, **CDP mode** (fallback) launches a dedicated instance.
|
|
6
7
|
|
|
7
8
|
[](LICENSE)
|
|
8
9
|
[](https://nodejs.org/)
|
|
@@ -17,7 +18,8 @@ Chrome browser automation MCP Server with dual-mode architecture: **Extension mo
|
|
|
17
18
|
- **Semantic Targeting**: 11 ways to locate elements (role, text, label, css, css+text combo, xpath, coordinates, etc.)
|
|
18
19
|
- **Auto-Wait**: Built-in clickability and input-ready detection with deadline-based timeout budget
|
|
19
20
|
- **Dual Input Mode**: `precise` (debugger API, bypasses CSP) or `stealth` (JS injection, no debug banner)
|
|
20
|
-
- **Smart Output**: Bare `return` auto-wrapped in IIFE; large results (>100KB) auto-saved to file; `output` writes raw
|
|
21
|
+
- **Smart Output**: Bare `return` auto-wrapped in IIFE; large results (>100KB) auto-saved to file; `output` writes raw
|
|
22
|
+
text for strings
|
|
21
23
|
- **Multi-Server**: Extension auto-discovers and connects to multiple MCP Server instances simultaneously
|
|
22
24
|
- **Anti-Detection**: Optional fingerprint masking and behavior simulation
|
|
23
25
|
- **Structured Errors**: Every error includes code, message, suggestion, and context
|
|
@@ -81,7 +83,8 @@ claude mcp add chrome -- node /path/to/mcp-chrome/dist/index.js
|
|
|
81
83
|
|
|
82
84
|
**Step 3: Connect**
|
|
83
85
|
|
|
84
|
-
The Extension auto-connects to the MCP Server via HTTP/WebSocket (port 19222-19299). Click the toolbar icon to verify
|
|
86
|
+
The Extension auto-connects to the MCP Server via HTTP/WebSocket (port 19222-19299). Click the toolbar icon to verify
|
|
87
|
+
connection status.
|
|
85
88
|
|
|
86
89
|
```
|
|
87
90
|
browse(action="list") // List all tabs
|
|
@@ -91,7 +94,8 @@ extract(type="screenshot")
|
|
|
91
94
|
|
|
92
95
|
### Mode 2: CDP Mode (Fallback)
|
|
93
96
|
|
|
94
|
-
CDP mode launches or connects to a dedicated Chrome instance. Used when the Extension is not installed, or for
|
|
97
|
+
CDP mode launches or connects to a dedicated Chrome instance. Used when the Extension is not installed, or for
|
|
98
|
+
headless/isolated scenarios.
|
|
95
99
|
|
|
96
100
|
```bash
|
|
97
101
|
# Start Chrome with remote debugging
|
|
@@ -103,25 +107,27 @@ browse(action="connect", port=9222)
|
|
|
103
107
|
browse(action="open", url="https://example.com")
|
|
104
108
|
```
|
|
105
109
|
|
|
106
|
-
> When the Extension is connected, all tools use Extension mode automatically. CDP mode activates only when the
|
|
110
|
+
> When the Extension is connected, all tools use Extension mode automatically. CDP mode activates only when the
|
|
111
|
+
> Extension is unavailable.
|
|
107
112
|
|
|
108
113
|
## Available Tools (8 Tools)
|
|
109
114
|
|
|
110
115
|
### browse - Browser Management & Navigation
|
|
111
116
|
|
|
112
|
-
| Action | Description
|
|
113
|
-
|
|
114
|
-
| `launch` | Launch new Chrome instance (CDP mode)
|
|
115
|
-
| `connect` | Connect to running Chrome (CDP mode)
|
|
116
|
-
| `list` | List all pages/tabs
|
|
117
|
-
| `attach` | Attach to a specific page/tab
|
|
118
|
-
| `open` | Navigate to URL
|
|
119
|
-
| `back` | Go back in history
|
|
120
|
-
| `forward` | Go forward in history
|
|
121
|
-
| `refresh` | Reload page
|
|
122
|
-
| `close` | Close browser connection
|
|
123
|
-
|
|
124
|
-
Extension-specific: `list` returns `managed` field (whether tab is in MCP Chrome group) and `isActive` field (whether
|
|
117
|
+
| Action | Description |
|
|
118
|
+
|-----------|---------------------------------------|
|
|
119
|
+
| `launch` | Launch new Chrome instance (CDP mode) |
|
|
120
|
+
| `connect` | Connect to running Chrome (CDP mode) |
|
|
121
|
+
| `list` | List all pages/tabs |
|
|
122
|
+
| `attach` | Attach to a specific page/tab |
|
|
123
|
+
| `open` | Navigate to URL |
|
|
124
|
+
| `back` | Go back in history |
|
|
125
|
+
| `forward` | Go forward in history |
|
|
126
|
+
| `refresh` | Reload page |
|
|
127
|
+
| `close` | Close browser connection |
|
|
128
|
+
|
|
129
|
+
Extension-specific: `list` returns `managed` field (whether tab is in MCP Chrome group) and `isActive` field (whether
|
|
130
|
+
it's the current operation target). `open` auto-creates tab group (cyan color).
|
|
125
131
|
|
|
126
132
|
### input - Keyboard & Mouse Input
|
|
127
133
|
|
|
@@ -130,6 +136,7 @@ Event sequence model supporting arbitrary combinations:
|
|
|
130
136
|
| Event Type | Description |
|
|
131
137
|
|-----------------------------------------|----------------------------|
|
|
132
138
|
| `keydown` / `keyup` | Key press/release |
|
|
139
|
+
| `click` | Click (mousedown + mouseup) |
|
|
133
140
|
| `mousedown` / `mouseup` | Mouse button press/release |
|
|
134
141
|
| `mousemove` | Mouse movement |
|
|
135
142
|
| `wheel` | Mouse wheel scroll |
|
|
@@ -137,7 +144,8 @@ Event sequence model supporting arbitrary combinations:
|
|
|
137
144
|
| `type` | Type text |
|
|
138
145
|
| `wait` | Pause between events |
|
|
139
146
|
|
|
140
|
-
Parameters: `humanize` enables Bézier curve movement and random delays. `tabId` targets a specific tab. `frame` targets
|
|
147
|
+
Parameters: `humanize` enables Bézier curve movement and random delays. `tabId` targets a specific tab. `frame` targets
|
|
148
|
+
an iframe (CSS selector or index). Both Extension mode only.
|
|
141
149
|
|
|
142
150
|
### extract - Content Extraction
|
|
143
151
|
|
|
@@ -146,10 +154,12 @@ Parameters: `humanize` enables Bézier curve movement and random delays. `tabId`
|
|
|
146
154
|
| `text` | Extract text content |
|
|
147
155
|
| `html` | Extract HTML source |
|
|
148
156
|
| `attribute` | Extract element attribute |
|
|
149
|
-
| `screenshot` | Take screenshot
|
|
157
|
+
| `screenshot` | Take screenshot (supports `target` element crop) |
|
|
150
158
|
| `state` | Get page state (URL, title, interactive elements) |
|
|
159
|
+
| `metadata` | Extract page metadata (title, OG, JSON-LD, etc.) |
|
|
151
160
|
|
|
152
|
-
Parameters: `output` saves result to file
|
|
161
|
+
Parameters: `output` saves result to file (or directory for `images=data`). `images` (`info`/`data`) extracts image
|
|
162
|
+
metadata or data alongside HTML. `tabId` targets a specific tab. `frame` targets an iframe. Both Extension mode only.
|
|
153
163
|
|
|
154
164
|
### wait - Wait for Conditions
|
|
155
165
|
|
|
@@ -166,31 +176,31 @@ Parameters: `tabId` targets a specific tab. `frame` targets an iframe. Both Exte
|
|
|
166
176
|
|
|
167
177
|
Execute JavaScript in page context.
|
|
168
178
|
|
|
169
|
-
| Parameter | Description
|
|
170
|
-
|
|
171
|
-
| `script` | JavaScript code (required). Bare `return` statements auto-wrapped in IIFE
|
|
172
|
-
| `args` | Arguments passed to script (script must be a function expression)
|
|
173
|
-
| `mode` | `precise` (default, debugger API) or `stealth` (JS injection)
|
|
174
|
-
| `output` | Save result to file (strings written as raw text, others as JSON)
|
|
175
|
-
| `tabId` | Target a specific tab (Extension mode)
|
|
176
|
-
| `frame` | Target an iframe by CSS selector or index (Extension mode)
|
|
177
|
-
| `timeout` | End-to-end budget (ms)
|
|
179
|
+
| Parameter | Description |
|
|
180
|
+
|-----------|---------------------------------------------------------------------------|
|
|
181
|
+
| `script` | JavaScript code (required). Bare `return` statements auto-wrapped in IIFE |
|
|
182
|
+
| `args` | Arguments passed to script (script must be a function expression) |
|
|
183
|
+
| `mode` | `precise` (default, debugger API) or `stealth` (JS injection) |
|
|
184
|
+
| `output` | Save result to file (strings written as raw text, others as JSON) |
|
|
185
|
+
| `tabId` | Target a specific tab (Extension mode) |
|
|
186
|
+
| `frame` | Target an iframe by CSS selector or index (Extension mode) |
|
|
187
|
+
| `timeout` | End-to-end budget (ms) |
|
|
178
188
|
|
|
179
189
|
Results >100KB are auto-saved to `/tmp/` with a structured hint returned.
|
|
180
190
|
|
|
181
191
|
### manage - Page & Environment Management
|
|
182
192
|
|
|
183
|
-
| Action | Description
|
|
184
|
-
|
|
185
|
-
| `newPage` | Create new page/tab
|
|
186
|
-
| `closePage` | Close page
|
|
187
|
-
| `clearCache` | Clear cache/cookies/storage
|
|
188
|
-
| `viewport` | Set viewport size
|
|
189
|
-
| `userAgent` | Set User-Agent
|
|
190
|
-
| `emulate` | Device emulation (iPhone, iPad, etc.)
|
|
191
|
-
| `inputMode` | Query or set input mode (`precise` / `stealth`)
|
|
192
|
-
| `stealth` | Inject anti-detection scripts
|
|
193
|
-
| `cdp` | Send raw CDP command (advanced, e.g. `Runtime.evaluate`)
|
|
193
|
+
| Action | Description |
|
|
194
|
+
|--------------|----------------------------------------------------------|
|
|
195
|
+
| `newPage` | Create new page/tab |
|
|
196
|
+
| `closePage` | Close page |
|
|
197
|
+
| `clearCache` | Clear cache/cookies/storage |
|
|
198
|
+
| `viewport` | Set viewport size |
|
|
199
|
+
| `userAgent` | Set User-Agent |
|
|
200
|
+
| `emulate` | Device emulation (iPhone, iPad, etc.) |
|
|
201
|
+
| `inputMode` | Query or set input mode (`precise` / `stealth`) |
|
|
202
|
+
| `stealth` | Inject anti-detection scripts |
|
|
203
|
+
| `cdp` | Send raw CDP command (advanced, e.g. `Runtime.evaluate`) |
|
|
194
204
|
|
|
195
205
|
### logs - Browser Logs
|
|
196
206
|
|
|
@@ -199,7 +209,8 @@ Results >100KB are auto-saved to `/tmp/` with a structured hint returned.
|
|
|
199
209
|
| `console` | Console logs (with level filter) |
|
|
200
210
|
| `network` | Network request logs (with URL filter) |
|
|
201
211
|
|
|
202
|
-
Parameters: `output` saves result to file. `tabId` targets a specific tab (Extension mode). `frame` is not applicable
|
|
212
|
+
Parameters: `output` saves result to file. `tabId` targets a specific tab (Extension mode). `frame` is not applicable
|
|
213
|
+
for logs.
|
|
203
214
|
|
|
204
215
|
### cookies - Cookie Management
|
|
205
216
|
|
|
@@ -216,37 +227,76 @@ All tools use a unified `Target` type for element location:
|
|
|
216
227
|
|
|
217
228
|
```typescript
|
|
218
229
|
// By accessibility (recommended - most stable)
|
|
219
|
-
{
|
|
230
|
+
{
|
|
231
|
+
role: "button", name
|
|
232
|
+
:
|
|
233
|
+
"Submit"
|
|
234
|
+
}
|
|
220
235
|
|
|
221
236
|
// By text content
|
|
222
|
-
{
|
|
237
|
+
{
|
|
238
|
+
text: "Click here", exact
|
|
239
|
+
:
|
|
240
|
+
true
|
|
241
|
+
}
|
|
223
242
|
|
|
224
243
|
// By form label
|
|
225
|
-
{
|
|
244
|
+
{
|
|
245
|
+
label: "Email"
|
|
246
|
+
}
|
|
226
247
|
|
|
227
248
|
// By placeholder
|
|
228
|
-
{
|
|
249
|
+
{
|
|
250
|
+
placeholder: "Enter your name"
|
|
251
|
+
}
|
|
229
252
|
|
|
230
253
|
// By title attribute
|
|
231
|
-
{
|
|
254
|
+
{
|
|
255
|
+
title: "Close dialog"
|
|
256
|
+
}
|
|
232
257
|
|
|
233
258
|
// By alt text (images)
|
|
234
|
-
{
|
|
259
|
+
{
|
|
260
|
+
alt: "Profile picture"
|
|
261
|
+
}
|
|
235
262
|
|
|
236
263
|
// By test ID
|
|
237
|
-
{
|
|
264
|
+
{
|
|
265
|
+
testId: "submit-button"
|
|
266
|
+
}
|
|
238
267
|
|
|
239
268
|
// By CSS selector
|
|
240
|
-
{
|
|
269
|
+
{
|
|
270
|
+
css: "#login-form .submit-btn"
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
// Disambiguate multiple matches (0-based)
|
|
274
|
+
{
|
|
275
|
+
css: ".ant-select-input", nth
|
|
276
|
+
:
|
|
277
|
+
1
|
|
278
|
+
}
|
|
241
279
|
|
|
242
280
|
// By CSS + text (filter by text content)
|
|
243
|
-
{
|
|
281
|
+
{
|
|
282
|
+
css: "button", text
|
|
283
|
+
:
|
|
284
|
+
"Submit", exact
|
|
285
|
+
:
|
|
286
|
+
true
|
|
287
|
+
}
|
|
244
288
|
|
|
245
289
|
// By XPath
|
|
246
|
-
{
|
|
290
|
+
{
|
|
291
|
+
xpath: "//button[@type='submit']"
|
|
292
|
+
}
|
|
247
293
|
|
|
248
294
|
// By coordinates
|
|
249
|
-
{
|
|
295
|
+
{
|
|
296
|
+
x: 100, y
|
|
297
|
+
:
|
|
298
|
+
200
|
|
299
|
+
}
|
|
250
300
|
```
|
|
251
301
|
|
|
252
302
|
## Usage Examples
|
|
@@ -292,10 +342,37 @@ evaluate(script="document.title", tabId="12345")
|
|
|
292
342
|
// Full page
|
|
293
343
|
extract(type="screenshot", fullPage=true)
|
|
294
344
|
|
|
345
|
+
// Element screenshot (any target type)
|
|
346
|
+
extract(type="screenshot", target={ role: "button", name: "Submit" })
|
|
347
|
+
|
|
348
|
+
// JPEG with quality (smaller file)
|
|
349
|
+
extract(type="screenshot", format="jpeg", quality=80, output="/tmp/screenshot.jpg")
|
|
350
|
+
|
|
295
351
|
// Save to file
|
|
296
352
|
extract(type="screenshot", output="/tmp/screenshot.png")
|
|
297
353
|
```
|
|
298
354
|
|
|
355
|
+
### Extract HTML with Images
|
|
356
|
+
|
|
357
|
+
```
|
|
358
|
+
// Get HTML + image metadata (src, alt, dimensions)
|
|
359
|
+
extract(type="html", target={ css: ".article" }, images="info")
|
|
360
|
+
|
|
361
|
+
// Get HTML + image data, save to directory
|
|
362
|
+
extract(type="html", images="data", output="/tmp/page")
|
|
363
|
+
// Creates: /tmp/page/content.html, /tmp/page/images/*, /tmp/page/index.json
|
|
364
|
+
|
|
365
|
+
// Get HTML + image data inline (max 20 images)
|
|
366
|
+
extract(type="html", target={ css: ".card" }, images="data")
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
### Page Metadata
|
|
370
|
+
|
|
371
|
+
```
|
|
372
|
+
// Extract title, OG tags, JSON-LD, feeds, etc.
|
|
373
|
+
extract(type="metadata")
|
|
374
|
+
```
|
|
375
|
+
|
|
299
376
|
### iframe Operations (Extension Mode)
|
|
300
377
|
|
|
301
378
|
```
|
|
@@ -420,4 +497,3 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
420
497
|
|
|
421
498
|
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP specification
|
|
422
499
|
- [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) - CDP documentation
|
|
423
|
-
|
|
@@ -46,13 +46,5 @@ export declare class BehaviorSimulator {
|
|
|
46
46
|
* 更新当前鼠标位置
|
|
47
47
|
*/
|
|
48
48
|
setCurrentPosition(point: Point): void;
|
|
49
|
-
/**
|
|
50
|
-
* 生成人类化的鼠标移动路径
|
|
51
|
-
*/
|
|
52
|
-
generateHumanMousePath(to: Point): Point[];
|
|
53
|
-
/**
|
|
54
|
-
* 生成人类化的打字延迟序列
|
|
55
|
-
*/
|
|
56
|
-
generateTypingDelays(textLength: number, baseDelay?: number): number[];
|
|
57
49
|
}
|
|
58
50
|
//# sourceMappingURL=behavior.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../src/anti-detection/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAE3C;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,KAAK,EACT,KAAK,CAAC,EAAE,MAAM,GACf,KAAK,EAAE,CA4BT;AAwBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,GAAE,MAAY,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,eAAe,CAAsB;IAE7C;;OAEG;IACH,kBAAkB,IAAI,KAAK;IAI3B;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../src/anti-detection/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAA;AAE3C;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,KAAK,EACT,KAAK,CAAC,EAAE,MAAM,GACf,KAAK,EAAE,CA4BT;AAwBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,GAAE,MAAY,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,eAAe,CAAsB;IAE7C;;OAEG;IACH,kBAAkB,IAAI,KAAK;IAI3B;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;CAIzC"}
|
|
@@ -93,21 +93,5 @@ export class BehaviorSimulator {
|
|
|
93
93
|
setCurrentPosition(point) {
|
|
94
94
|
this.currentPosition = { ...point };
|
|
95
95
|
}
|
|
96
|
-
/**
|
|
97
|
-
* 生成人类化的鼠标移动路径
|
|
98
|
-
*/
|
|
99
|
-
generateHumanMousePath(to) {
|
|
100
|
-
return generateBezierPath(this.currentPosition, to);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* 生成人类化的打字延迟序列
|
|
104
|
-
*/
|
|
105
|
-
generateTypingDelays(textLength, baseDelay = 100) {
|
|
106
|
-
const delays = [];
|
|
107
|
-
for (let i = 0; i < textLength; i++) {
|
|
108
|
-
delays.push(getTypingDelay(baseDelay));
|
|
109
|
-
}
|
|
110
|
-
return delays;
|
|
111
|
-
}
|
|
112
96
|
}
|
|
113
97
|
//# sourceMappingURL=behavior.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/anti-detection/behavior.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../src/anti-detection/behavior.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/client.d.ts
CHANGED
package/dist/cdp/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAwBnC;;GAEG;AACH,KAAK,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAElD;;GAEG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACvC,aAAa;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAkB;IACjE,OAAO,CAAC,EAAE,CAA4C;IACtD,OAAO,CAAC,SAAS,CAAmE;IACpF,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,cAAc,CAAoE;IAC1F,OAAO,CAAC,kBAAkB,CAA8C;IAExE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CzE;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,MAA0C,GACpD,OAAO,CAAC,CAAC,CAAC;IA6Cb;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOxD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOzD;;;;OAIG;IACH,YAAY,CAAC,CAAC,GAAG,OAAO,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAClC,OAAO,SAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IA8Bb;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAYb;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,WAAW;CAStB;AAgCD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAA6B,GACvC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAA6B,GACvC,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAExG"}
|
package/dist/cdp/client.js
CHANGED
|
@@ -7,29 +7,25 @@
|
|
|
7
7
|
import { EventEmitter } from 'events';
|
|
8
8
|
import WebSocket from 'ws';
|
|
9
9
|
import { CDPError, ConnectionRefusedError, TimeoutError } from '../core/errors.js';
|
|
10
|
+
import { DEFAULT_TIMEOUT } from '../core/types.js';
|
|
10
11
|
/**
|
|
11
12
|
* CDP 客户端
|
|
12
13
|
*/
|
|
13
14
|
export class CDPClient extends EventEmitter {
|
|
14
15
|
/** 默认命令超时 */
|
|
15
|
-
static DEFAULT_COMMAND_TIMEOUT =
|
|
16
|
+
static DEFAULT_COMMAND_TIMEOUT = DEFAULT_TIMEOUT;
|
|
16
17
|
ws = null;
|
|
17
18
|
callbacks = new Map();
|
|
18
19
|
nextId = 1;
|
|
19
20
|
eventListeners = new Map();
|
|
20
21
|
activeEventWaiters = new Set();
|
|
21
|
-
_endpoint = '';
|
|
22
|
-
get endpoint() {
|
|
23
|
-
return this._endpoint;
|
|
24
|
-
}
|
|
25
22
|
get isConnected() {
|
|
26
23
|
return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
|
|
27
24
|
}
|
|
28
25
|
/**
|
|
29
26
|
* 连接到 CDP 端点
|
|
30
27
|
*/
|
|
31
|
-
async connect(endpoint, timeout =
|
|
32
|
-
this._endpoint = endpoint;
|
|
28
|
+
async connect(endpoint, timeout = DEFAULT_TIMEOUT) {
|
|
33
29
|
return new Promise((resolve, reject) => {
|
|
34
30
|
const timer = setTimeout(() => {
|
|
35
31
|
reject(new TimeoutError(`连接超时: ${endpoint} (${timeout}ms)`));
|
|
@@ -109,7 +105,9 @@ export class CDPClient extends EventEmitter {
|
|
|
109
105
|
catch (err) {
|
|
110
106
|
clearTimeout(timeoutId);
|
|
111
107
|
this.callbacks.delete(id);
|
|
112
|
-
reject(new CDPError(`Failed to send CDP command ${method}: ${err instanceof Error ?
|
|
108
|
+
reject(new CDPError(`Failed to send CDP command ${method}: ${err instanceof Error ?
|
|
109
|
+
err.message :
|
|
110
|
+
'Unknown error'}`));
|
|
113
111
|
}
|
|
114
112
|
});
|
|
115
113
|
}
|
|
@@ -136,7 +134,7 @@ export class CDPClient extends EventEmitter {
|
|
|
136
134
|
*
|
|
137
135
|
* close()/handleClose() 会立即 reject 所有活跃的等待者,不必等 timer 超时。
|
|
138
136
|
*/
|
|
139
|
-
waitForEvent(event, predicate, timeout =
|
|
137
|
+
waitForEvent(event, predicate, timeout = DEFAULT_TIMEOUT) {
|
|
140
138
|
return new Promise((resolve, reject) => {
|
|
141
139
|
const listener = (params) => {
|
|
142
140
|
if (!predicate || predicate(params)) {
|
|
@@ -239,32 +237,30 @@ export class CDPClient extends EventEmitter {
|
|
|
239
237
|
* 处理连接关闭
|
|
240
238
|
*/
|
|
241
239
|
handleClose() {
|
|
240
|
+
if (this.ws === null) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
this.ws = null;
|
|
242
244
|
this.rejectAllPending('连接已关闭');
|
|
245
|
+
this.eventListeners.clear();
|
|
243
246
|
this.emit('disconnected');
|
|
244
247
|
}
|
|
245
248
|
}
|
|
246
249
|
/** 默认 HTTP 请求超时 */
|
|
247
250
|
const DEFAULT_HTTP_TIMEOUT = 10000;
|
|
248
251
|
/**
|
|
249
|
-
*
|
|
252
|
+
* 请求 CDP HTTP 接口(公共逻辑)
|
|
250
253
|
*/
|
|
251
|
-
|
|
252
|
-
|
|
254
|
+
async function cdpHttpFetch(host, port, path, timeout) {
|
|
255
|
+
// noinspection HttpUrlsUsage — CDP 调试协议只支持 HTTP
|
|
256
|
+
const url = `http://${host}:${port}${path}`;
|
|
253
257
|
const controller = new AbortController();
|
|
254
258
|
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
259
|
+
let response;
|
|
255
260
|
try {
|
|
256
|
-
|
|
257
|
-
if (!response.ok) {
|
|
258
|
-
throw new ConnectionRefusedError(host, port);
|
|
259
|
-
}
|
|
260
|
-
const data = (await response.json());
|
|
261
|
-
return data.webSocketDebuggerUrl;
|
|
261
|
+
response = await fetch(url, { signal: controller.signal });
|
|
262
262
|
}
|
|
263
263
|
catch (error) {
|
|
264
|
-
if (error instanceof ConnectionRefusedError) {
|
|
265
|
-
throw error;
|
|
266
|
-
}
|
|
267
|
-
// AbortError 表示超时
|
|
268
264
|
if (error instanceof Error && error.name === 'AbortError') {
|
|
269
265
|
throw new TimeoutError(`连接超时: ${host}:${port} (${timeout}ms)`);
|
|
270
266
|
}
|
|
@@ -273,33 +269,22 @@ export async function getBrowserWSEndpoint(host, port, timeout = DEFAULT_HTTP_TI
|
|
|
273
269
|
finally {
|
|
274
270
|
clearTimeout(timeoutId);
|
|
275
271
|
}
|
|
272
|
+
if (!response.ok) {
|
|
273
|
+
throw new ConnectionRefusedError(host, port);
|
|
274
|
+
}
|
|
275
|
+
return (await response.json());
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* 获取浏览器 WebSocket 端点
|
|
279
|
+
*/
|
|
280
|
+
export async function getBrowserWSEndpoint(host, port, timeout = DEFAULT_HTTP_TIMEOUT) {
|
|
281
|
+
const data = await cdpHttpFetch(host, port, '/json/version', timeout);
|
|
282
|
+
return data.webSocketDebuggerUrl;
|
|
276
283
|
}
|
|
277
284
|
/**
|
|
278
285
|
* 获取所有可用的 targets
|
|
279
286
|
*/
|
|
280
287
|
export async function getTargets(host, port, timeout = DEFAULT_HTTP_TIMEOUT) {
|
|
281
|
-
|
|
282
|
-
const controller = new AbortController();
|
|
283
|
-
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
284
|
-
try {
|
|
285
|
-
const response = await fetch(url, { signal: controller.signal });
|
|
286
|
-
if (!response.ok) {
|
|
287
|
-
throw new ConnectionRefusedError(host, port);
|
|
288
|
-
}
|
|
289
|
-
return (await response.json());
|
|
290
|
-
}
|
|
291
|
-
catch (error) {
|
|
292
|
-
if (error instanceof ConnectionRefusedError) {
|
|
293
|
-
throw error;
|
|
294
|
-
}
|
|
295
|
-
// AbortError 表示超时
|
|
296
|
-
if (error instanceof Error && error.name === 'AbortError') {
|
|
297
|
-
throw new TimeoutError(`连接超时: ${host}:${port} (${timeout}ms)`);
|
|
298
|
-
}
|
|
299
|
-
throw new ConnectionRefusedError(host, port);
|
|
300
|
-
}
|
|
301
|
-
finally {
|
|
302
|
-
clearTimeout(timeoutId);
|
|
303
|
-
}
|
|
288
|
+
return cdpHttpFetch(host, port, '/json/list', timeout);
|
|
304
289
|
}
|
|
305
290
|
//# sourceMappingURL=client.js.map
|
package/dist/cdp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AACnC,OAAO,SAAS,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cdp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cdp/launcher.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 负责启动 Chrome 浏览器进程并获取 CDP 端点
|
|
5
5
|
*/
|
|
6
|
-
import type
|
|
6
|
+
import { type LaunchOptions } from '../core/types.js';
|
|
7
7
|
/**
|
|
8
8
|
* 查找 Chrome 可执行文件
|
|
9
9
|
*/
|
|
@@ -15,9 +15,6 @@ export declare class BrowserLauncher {
|
|
|
15
15
|
private process;
|
|
16
16
|
private _port;
|
|
17
17
|
get port(): number;
|
|
18
|
-
private _endpoint;
|
|
19
|
-
get endpoint(): string;
|
|
20
|
-
get isRunning(): boolean;
|
|
21
18
|
/**
|
|
22
19
|
* 启动浏览器
|
|
23
20
|
*/
|
|
@@ -26,10 +23,6 @@ export declare class BrowserLauncher {
|
|
|
26
23
|
* 关闭浏览器
|
|
27
24
|
*/
|
|
28
25
|
close(): void;
|
|
29
|
-
/**
|
|
30
|
-
* 强制关闭浏览器
|
|
31
|
-
*/
|
|
32
|
-
forceClose(): void;
|
|
33
26
|
/**
|
|
34
27
|
* 构建启动参数
|
|
35
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/cdp/launcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/cdp/launcher.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAkB,KAAK,aAAa,EAAC,MAAM,kBAAkB,CAAA;AA6BpE;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAU1C;AAED;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,KAAK,CAA2B;IAExC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACG,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B1D;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,OAAO,CAAC,SAAS;IAwDjB;;OAEG;IACH,OAAO,CAAC,eAAe;CAiD1B"}
|