@pyrokine/mcp-chrome 1.6.0 → 2.0.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.
Files changed (109) hide show
  1. package/README.md +101 -43
  2. package/dist/anti-detection/behavior.d.ts.map +1 -1
  3. package/dist/anti-detection/behavior.js.map +1 -1
  4. package/dist/anti-detection/index.d.ts +1 -1
  5. package/dist/anti-detection/index.d.ts.map +1 -1
  6. package/dist/anti-detection/index.js +1 -1
  7. package/dist/anti-detection/index.js.map +1 -1
  8. package/dist/anti-detection/injection.d.ts +6 -2
  9. package/dist/anti-detection/injection.d.ts.map +1 -1
  10. package/dist/anti-detection/injection.js +32 -79
  11. package/dist/anti-detection/injection.js.map +1 -1
  12. package/dist/cdp/client.d.ts +2 -2
  13. package/dist/cdp/client.d.ts.map +1 -1
  14. package/dist/cdp/client.js +8 -10
  15. package/dist/cdp/client.js.map +1 -1
  16. package/dist/cdp/index.d.ts.map +1 -1
  17. package/dist/cdp/index.js.map +1 -1
  18. package/dist/cdp/launcher.d.ts.map +1 -1
  19. package/dist/cdp/launcher.js +40 -13
  20. package/dist/cdp/launcher.js.map +1 -1
  21. package/dist/core/auto-wait.d.ts +2 -2
  22. package/dist/core/auto-wait.d.ts.map +1 -1
  23. package/dist/core/auto-wait.js +2 -2
  24. package/dist/core/auto-wait.js.map +1 -1
  25. package/dist/core/browser-driver.d.ts +307 -0
  26. package/dist/core/browser-driver.d.ts.map +1 -0
  27. package/dist/core/browser-driver.js +21 -0
  28. package/dist/core/browser-driver.js.map +1 -0
  29. package/dist/core/error-sanitizer.d.ts +25 -0
  30. package/dist/core/error-sanitizer.d.ts.map +1 -0
  31. package/dist/core/error-sanitizer.js +66 -0
  32. package/dist/core/error-sanitizer.js.map +1 -0
  33. package/dist/core/errors.d.ts +10 -1
  34. package/dist/core/errors.d.ts.map +1 -1
  35. package/dist/core/errors.js +17 -4
  36. package/dist/core/errors.js.map +1 -1
  37. package/dist/core/extension-errors.d.ts +20 -0
  38. package/dist/core/extension-errors.d.ts.map +1 -0
  39. package/dist/core/extension-errors.js +40 -0
  40. package/dist/core/extension-errors.js.map +1 -0
  41. package/dist/core/index.d.ts.map +1 -1
  42. package/dist/core/index.js.map +1 -1
  43. package/dist/core/locator.d.ts +2 -2
  44. package/dist/core/locator.d.ts.map +1 -1
  45. package/dist/core/locator.js +25 -65
  46. package/dist/core/locator.js.map +1 -1
  47. package/dist/core/retry.d.ts +2 -2
  48. package/dist/core/retry.d.ts.map +1 -1
  49. package/dist/core/retry.js +2 -2
  50. package/dist/core/retry.js.map +1 -1
  51. package/dist/core/session.d.ts +153 -46
  52. package/dist/core/session.d.ts.map +1 -1
  53. package/dist/core/session.js +672 -177
  54. package/dist/core/session.js.map +1 -1
  55. package/dist/core/types.d.ts +11 -3
  56. package/dist/core/types.d.ts.map +1 -1
  57. package/dist/core/types.js +13 -6
  58. package/dist/core/types.js.map +1 -1
  59. package/dist/core/unified-session.d.ts +69 -68
  60. package/dist/core/unified-session.d.ts.map +1 -1
  61. package/dist/core/unified-session.js +356 -615
  62. package/dist/core/unified-session.js.map +1 -1
  63. package/dist/core/utils.d.ts +7 -0
  64. package/dist/core/utils.d.ts.map +1 -0
  65. package/dist/core/utils.js +33 -0
  66. package/dist/core/utils.js.map +1 -0
  67. package/dist/extension/bridge.d.ts +80 -39
  68. package/dist/extension/bridge.d.ts.map +1 -1
  69. package/dist/extension/bridge.js +195 -65
  70. package/dist/extension/bridge.js.map +1 -1
  71. package/dist/extension/http-server.d.ts +6 -4
  72. package/dist/extension/http-server.d.ts.map +1 -1
  73. package/dist/extension/http-server.js +45 -31
  74. package/dist/extension/http-server.js.map +1 -1
  75. package/dist/extension/index.d.ts.map +1 -1
  76. package/dist/extension/index.js.map +1 -1
  77. package/dist/index.js +27 -3
  78. package/dist/index.js.map +1 -1
  79. package/dist/tools/browse.d.ts.map +1 -1
  80. package/dist/tools/browse.js +33 -35
  81. package/dist/tools/browse.js.map +1 -1
  82. package/dist/tools/cookies.d.ts.map +1 -1
  83. package/dist/tools/cookies.js +38 -16
  84. package/dist/tools/cookies.js.map +1 -1
  85. package/dist/tools/evaluate.d.ts.map +1 -1
  86. package/dist/tools/evaluate.js +59 -13
  87. package/dist/tools/evaluate.js.map +1 -1
  88. package/dist/tools/extract.d.ts.map +1 -1
  89. package/dist/tools/extract.js +263 -155
  90. package/dist/tools/extract.js.map +1 -1
  91. package/dist/tools/index.d.ts.map +1 -1
  92. package/dist/tools/index.js.map +1 -1
  93. package/dist/tools/input.d.ts.map +1 -1
  94. package/dist/tools/input.js +311 -75
  95. package/dist/tools/input.js.map +1 -1
  96. package/dist/tools/logs.d.ts.map +1 -1
  97. package/dist/tools/logs.js +31 -17
  98. package/dist/tools/logs.js.map +1 -1
  99. package/dist/tools/manage.d.ts.map +1 -1
  100. package/dist/tools/manage.js +25 -28
  101. package/dist/tools/manage.js.map +1 -1
  102. package/dist/tools/schema.d.ts +1 -1
  103. package/dist/tools/schema.d.ts.map +1 -1
  104. package/dist/tools/schema.js +31 -55
  105. package/dist/tools/schema.js.map +1 -1
  106. package/dist/tools/wait.d.ts.map +1 -1
  107. package/dist/tools/wait.js +73 -22
  108. package/dist/tools/wait.js.map +1 -1
  109. package/package.json +48 -40
@@ -4,6 +4,7 @@
4
4
  * 封装与 Chrome Extension 的通信,提供与 CDP 类似的接口
5
5
  * 使用 HTTP + WebSocket 实现
6
6
  */
7
+ import { DriverCapabilityError, } from '../core/browser-driver.js';
7
8
  import { ExtensionHttpServer } from './http-server.js';
8
9
  /** RPC 传输余量(毫秒):给网络往返和 Extension 处理留出的额外时间 */
9
10
  const RPC_MARGIN = 5000;
@@ -26,8 +27,8 @@ export class ExtensionBridge {
26
27
  this.httpServer.on('connected', () => {
27
28
  if (this.currentTabId !== null) {
28
29
  const tabId = this.currentTabId;
29
- this.httpServer.sendCommand('debugger_attach', { tabId }).catch(() => {
30
- // tab 可能已关闭,忽略恢复失败
30
+ this.httpServer.sendCommand('debugger_attach', { tabId }).catch((err) => {
31
+ console.error('[Bridge] 重连后 debugger re-attach 失败:', err.message);
31
32
  });
32
33
  }
33
34
  });
@@ -53,6 +54,25 @@ export class ExtensionBridge {
53
54
  const result = await this.httpServer.sendCommand('tabs_list', {});
54
55
  return result;
55
56
  }
57
+ /** IBrowserDriver 接口:列出所有 tab,统一为 ListedTarget 形式(id 字符串化以保持跨 driver 兼容) */
58
+ async listTargets() {
59
+ const tabs = await this.listTabs();
60
+ return tabs.map((tab) => ({
61
+ id: tab.id,
62
+ targetId: String(tab.id),
63
+ url: tab.url,
64
+ title: tab.title,
65
+ type: 'page',
66
+ active: tab.active,
67
+ windowId: tab.windowId,
68
+ index: tab.index,
69
+ groupId: tab.groupId,
70
+ pinned: tab.pinned,
71
+ incognito: tab.incognito,
72
+ managed: tab.managed,
73
+ status: tab.status,
74
+ }));
75
+ }
56
76
  async createTab(url, timeout) {
57
77
  const rpcTimeout = timeout !== undefined ? timeout + RPC_MARGIN : undefined;
58
78
  const result = await this.httpServer.sendCommand('tabs_create', {
@@ -67,6 +87,16 @@ export class ExtensionBridge {
67
87
  this.updateState(tab.url, tab.title);
68
88
  return tab;
69
89
  }
90
+ /** IBrowserDriver 接口:新建页面(targetId 为字符串化的 chrome tab id) */
91
+ async newPage(url, timeout) {
92
+ const tab = await this.createTab(url, timeout);
93
+ return {
94
+ targetId: String(tab.id),
95
+ url: tab.url,
96
+ title: tab.title,
97
+ type: 'page',
98
+ };
99
+ }
70
100
  async closeTab(tabId) {
71
101
  await this.httpServer.sendCommand('tabs_close', { tabId });
72
102
  if (this.currentTabId === tabId) {
@@ -74,49 +104,71 @@ export class ExtensionBridge {
74
104
  this.state = null;
75
105
  }
76
106
  }
107
+ /** IBrowserDriver 接口:关闭页面(targetId 是 chrome tab id 的字符串形式,省略时关闭当前 tab) */
108
+ async closePage(targetId) {
109
+ const tabId = targetId !== undefined ? this.parseTargetId(targetId) : this.currentTabId;
110
+ if (tabId === null) {
111
+ throw new DriverCapabilityError('没有可关闭的页面,请指定 targetId');
112
+ }
113
+ await this.closeTab(tabId);
114
+ }
77
115
  async activateTab(tabId) {
78
116
  const result = await this.httpServer.sendCommand('tabs_activate', { tabId });
79
117
  const tab = result;
80
118
  this.currentTabId = tab.id;
81
119
  this.updateState(tab.url, tab.title);
82
120
  }
83
- // ==================== 导航操作 ====================
121
+ /** IBrowserDriver 接口:激活页面(切到前台) */
122
+ async activatePage(targetId) {
123
+ const tabId = this.parseTargetId(targetId);
124
+ await this.activateTab(tabId);
125
+ }
126
+ /** IBrowserDriver 接口:选择操作目标 tab(不切换前台,只设置当前 currentTabId) */
127
+ async selectPage(targetId) {
128
+ const tabId = this.parseTargetId(targetId);
129
+ this.currentTabId = tabId;
130
+ }
131
+ /** IBrowserDriver 接口:获取当前操作目标 ID(chrome tab id 的字符串形式) */
132
+ getCurrentTargetId() {
133
+ return this.currentTabId !== null ? String(this.currentTabId) : null;
134
+ }
135
+ /** IBrowserDriver 接口:设置当前操作目标 ID */
136
+ setCurrentTargetId(targetId) {
137
+ this.currentTabId = targetId !== null ? this.parseTargetId(targetId) : null;
138
+ }
84
139
  async navigate(url, options) {
85
140
  const rpcTimeout = options?.timeout !== undefined ? options.timeout + RPC_MARGIN : undefined;
86
141
  const result = await this.httpServer.sendCommand('navigate', {
87
142
  tabId: this.currentTabId,
88
143
  url,
89
- waitUntil: options?.waitUntil ?? 'load',
144
+ waitUntil: options?.wait ?? 'load',
90
145
  timeout: options?.timeout,
91
146
  }, rpcTimeout);
92
147
  const tab = result;
93
148
  this.updateState(tab.url, tab.title);
94
149
  }
150
+ // ==================== 导航操作 ====================
95
151
  async goBack(timeout) {
96
152
  // 默认:NAV_SIGNAL_WINDOW + 导航等待(默认 30s)+ RPC_MARGIN = 40s
97
153
  // 调用方传 timeout 时:timeout 即导航超时 + 信号窗口 + 传输余量
98
- const rpcTimeout = timeout !== undefined ?
99
- timeout + NAV_SIGNAL_WINDOW + RPC_MARGIN :
100
- 30000 + NAV_SIGNAL_WINDOW + RPC_MARGIN;
101
- const result = await this.httpServer.sendCommand('go_back', {
154
+ const rpcTimeout = timeout !== undefined ? timeout + NAV_SIGNAL_WINDOW + RPC_MARGIN : 30000 + NAV_SIGNAL_WINDOW + RPC_MARGIN;
155
+ const result = (await this.httpServer.sendCommand('go_back', {
102
156
  tabId: this.currentTabId,
103
157
  waitUntil: 'load',
104
158
  timeout,
105
- }, rpcTimeout);
159
+ }, rpcTimeout));
106
160
  this.updateState(result.url, result.title);
107
161
  return result;
108
162
  }
109
163
  async goForward(timeout) {
110
164
  // 默认:NAV_SIGNAL_WINDOW + 导航等待(默认 30s)+ RPC_MARGIN = 40s
111
165
  // 调用方传 timeout 时:timeout 即导航超时 + 信号窗口 + 传输余量
112
- const rpcTimeout = timeout !== undefined ?
113
- timeout + NAV_SIGNAL_WINDOW + RPC_MARGIN :
114
- 30000 + NAV_SIGNAL_WINDOW + RPC_MARGIN;
115
- const result = await this.httpServer.sendCommand('go_forward', {
166
+ const rpcTimeout = timeout !== undefined ? timeout + NAV_SIGNAL_WINDOW + RPC_MARGIN : 30000 + NAV_SIGNAL_WINDOW + RPC_MARGIN;
167
+ const result = (await this.httpServer.sendCommand('go_forward', {
116
168
  tabId: this.currentTabId,
117
169
  waitUntil: 'load',
118
170
  timeout,
119
- }, rpcTimeout);
171
+ }, rpcTimeout));
120
172
  this.updateState(result.url, result.title);
121
173
  return result;
122
174
  }
@@ -131,43 +183,73 @@ export class ExtensionBridge {
131
183
  const tab = result;
132
184
  this.updateState(tab.url, tab.title);
133
185
  }
134
- // ==================== 页面内容 ====================
135
186
  async readPage(options) {
136
- return await this.httpServer.sendCommand('read_page', {
187
+ return (await this.httpServer.sendCommand('read_page', {
137
188
  tabId: this.currentTabId,
138
189
  frameId: this.currentFrameId || undefined,
139
190
  ...options,
140
- });
191
+ }));
141
192
  }
142
- async screenshot(options) {
143
- return await this.httpServer.sendCommand('screenshot', {
144
- tabId: this.currentTabId,
145
- ...options,
146
- });
147
- }
148
- // ==================== DOM 操作 ====================
193
+ // ==================== 页面内容 ====================
149
194
  async click(refId) {
150
- const result = await this.httpServer.sendCommand('click', {
195
+ const result = (await this.httpServer.sendCommand('click', {
151
196
  tabId: this.currentTabId,
152
197
  frameId: this.currentFrameId || undefined,
153
198
  refId,
154
- });
199
+ }));
155
200
  if (!result.success) {
156
201
  throw new Error(result.error || 'Click failed');
157
202
  }
158
203
  }
204
+ // ==================== DOM 操作 ====================
205
+ async actionableClick(refId, force) {
206
+ return (await this.httpServer.sendCommand('actionable_click', {
207
+ tabId: this.currentTabId,
208
+ frameId: this.currentFrameId || undefined,
209
+ refId,
210
+ force: force ?? false,
211
+ }));
212
+ }
213
+ async dispatchInput(refId, text) {
214
+ return (await this.httpServer.sendCommand('dispatch_input', {
215
+ tabId: this.currentTabId,
216
+ frameId: this.currentFrameId || undefined,
217
+ refId,
218
+ text,
219
+ }));
220
+ }
221
+ async dragAndDrop(srcRefId, dstRefId) {
222
+ return (await this.httpServer.sendCommand('drag_and_drop', {
223
+ tabId: this.currentTabId,
224
+ frameId: this.currentFrameId || undefined,
225
+ srcRefId,
226
+ dstRefId,
227
+ }));
228
+ }
229
+ async getComputedStyle(refId, prop) {
230
+ return (await this.httpServer.sendCommand('get_computed_style', {
231
+ tabId: this.currentTabId,
232
+ frameId: this.currentFrameId || undefined,
233
+ refId,
234
+ prop,
235
+ }));
236
+ }
159
237
  async type(refId, text, clear = false) {
160
- const result = await this.httpServer.sendCommand('type', {
238
+ const result = (await this.httpServer.sendCommand('type', {
161
239
  tabId: this.currentTabId,
162
240
  frameId: this.currentFrameId || undefined,
163
241
  refId,
164
242
  text,
165
243
  clear,
166
- });
244
+ }));
167
245
  if (!result.success) {
168
246
  throw new Error(result.error || 'Type failed');
169
247
  }
170
248
  }
249
+ /** IBrowserDriver 接口别名(避开与字段名冲突的命名歧义) */
250
+ typeRef(refId, text, clear = false) {
251
+ return this.type(refId, text, clear);
252
+ }
171
253
  async scroll(x, y, refId) {
172
254
  await this.httpServer.sendCommand('scroll', {
173
255
  tabId: this.currentTabId,
@@ -177,84 +259,122 @@ export class ExtensionBridge {
177
259
  refId,
178
260
  });
179
261
  }
180
- async evaluate(code, timeout, budget) {
181
- // budget 覆盖 rpcTimeout:轮询调用方传入端到端预算;一次性调用不传,保留 RPC_MARGIN
182
- const rpcTimeout = budget ?? (timeout !== undefined ? timeout + RPC_MARGIN : undefined);
183
- const result = await this.httpServer.sendCommand('evaluate', {
262
+ /** IBrowserDriver 接口别名 */
263
+ scrollAt(x, y, refId) {
264
+ return this.scroll(x, y, refId);
265
+ }
266
+ async evaluate(code, _args, timeout) {
267
+ // _args 参数仅满足 IBrowserDriver 接口签名;ExtensionBridge 不消费 args(stealth 路径上层已字符串拼接)
268
+ const rpcTimeout = timeout !== undefined ? timeout + RPC_MARGIN : undefined;
269
+ const result = (await this.httpServer.sendCommand('evaluate', {
184
270
  tabId: this.currentTabId,
185
271
  frameId: this.currentFrameId || undefined,
186
272
  code,
187
273
  timeout,
188
- }, rpcTimeout);
274
+ }, rpcTimeout));
189
275
  if (!result.success) {
190
276
  throw new Error(result.error || 'Evaluate failed');
191
277
  }
192
- return result.result ? JSON.parse(result.result) : undefined;
278
+ if (!result.result) {
279
+ return undefined;
280
+ }
281
+ try {
282
+ return JSON.parse(result.result);
283
+ }
284
+ catch (err) {
285
+ throw new Error(`evaluate 结果 JSON 解析失败: ${err}`);
286
+ }
193
287
  }
194
288
  async find(selector, text, xpath, timeout) {
195
- return await this.httpServer.sendCommand('find', {
289
+ return (await this.httpServer.sendCommand('find', {
196
290
  tabId: this.currentTabId,
197
291
  frameId: this.currentFrameId || undefined,
198
292
  selector,
199
293
  text,
200
294
  xpath,
201
- }, timeout);
295
+ }, timeout));
202
296
  }
203
297
  async getText(selector) {
204
- const result = await this.httpServer.sendCommand('get_text', {
298
+ const result = (await this.httpServer.sendCommand('get_text', {
205
299
  tabId: this.currentTabId,
206
300
  frameId: this.currentFrameId || undefined,
207
301
  selector,
208
- });
302
+ }));
209
303
  return result.text;
210
304
  }
211
305
  async getHtml(selector, outer = true) {
212
- const result = await this.httpServer.sendCommand('get_html', {
306
+ const result = (await this.httpServer.sendCommand('get_html', {
213
307
  tabId: this.currentTabId,
214
308
  frameId: this.currentFrameId || undefined,
215
309
  selector,
216
310
  outer,
217
- });
311
+ }));
218
312
  return result.html;
219
313
  }
314
+ getPageHtml(selector, outer = true) {
315
+ return this.getHtml(selector, outer);
316
+ }
317
+ getPageText(selector) {
318
+ return this.getText(selector);
319
+ }
320
+ async getConsoleLogs(options = {}) {
321
+ const messages = await this.consoleGet(options);
322
+ return messages;
323
+ }
324
+ async getNetworkRequests(options = {}) {
325
+ const requests = await this.networkGet(options);
326
+ return requests;
327
+ }
328
+ async screenshot(options) {
329
+ return (await this.httpServer.sendCommand('screenshot', {
330
+ tabId: this.currentTabId,
331
+ ...options,
332
+ }));
333
+ }
220
334
  async getHtmlWithImages(selector, outer = true) {
221
- return await this.httpServer.sendCommand('get_html_with_images', {
335
+ return (await this.httpServer.sendCommand('get_html_with_images', {
222
336
  tabId: this.currentTabId,
223
337
  frameId: this.currentFrameId || undefined,
224
338
  selector,
225
339
  outer,
226
- });
340
+ }));
227
341
  }
228
342
  async getAttribute(selector, refId, attribute) {
229
- const result = await this.httpServer.sendCommand('get_attribute', {
343
+ const result = (await this.httpServer.sendCommand('get_attribute', {
230
344
  tabId: this.currentTabId,
231
345
  frameId: this.currentFrameId || undefined,
232
346
  selector,
233
347
  refId,
234
348
  attribute,
235
- });
349
+ }));
236
350
  return result.value;
237
351
  }
238
352
  async getMetadata() {
239
- return await this.httpServer.sendCommand('get_metadata', {
353
+ return (await this.httpServer.sendCommand('get_metadata', {
240
354
  tabId: this.currentTabId,
241
355
  frameId: this.currentFrameId || undefined,
242
- });
356
+ }));
243
357
  }
244
- // ==================== Cookies ====================
245
358
  async getCookies(filter) {
246
- return await this.httpServer.sendCommand('cookies_get', filter ?? {});
359
+ return (await this.httpServer.sendCommand('cookies_get', filter ?? {}));
247
360
  }
361
+ // ==================== Cookies ====================
248
362
  async setCookie(params) {
249
- await this.httpServer.sendCommand('cookies_set', params);
363
+ const sameSiteMap = { None: 'no_restriction', Lax: 'lax', Strict: 'strict' };
364
+ const chromeSameSite = params.sameSite ? (sameSiteMap[params.sameSite] ?? params.sameSite) : undefined;
365
+ const url = params.url ?? this.state?.url ?? 'http://localhost';
366
+ await this.httpServer.sendCommand('cookies_set', {
367
+ ...params,
368
+ url,
369
+ ...(chromeSameSite !== undefined && { sameSite: chromeSameSite }),
370
+ });
250
371
  }
251
372
  async deleteCookie(url, name) {
252
373
  await this.httpServer.sendCommand('cookies_delete', { url, name });
253
374
  }
254
375
  async clearCookies(filter) {
255
- return await this.httpServer.sendCommand('cookies_clear', filter ?? {});
376
+ return (await this.httpServer.sendCommand('cookies_clear', filter ?? {}));
256
377
  }
257
- // ==================== Debugger (CDP via Extension) ====================
258
378
  async debuggerSend(method, params, tabId, timeout) {
259
379
  return await this.httpServer.sendCommand('debugger_send', {
260
380
  tabId: tabId ?? this.currentTabId,
@@ -262,7 +382,7 @@ export class ExtensionBridge {
262
382
  params,
263
383
  }, timeout);
264
384
  }
265
- // ==================== 输入事件(通过 CDP)====================
385
+ // ==================== Debugger (CDP via Extension) ====================
266
386
  async inputKey(type, options = {}) {
267
387
  await this.httpServer.sendCommand('input_key', {
268
388
  tabId: this.currentTabId,
@@ -270,6 +390,7 @@ export class ExtensionBridge {
270
390
  ...options,
271
391
  });
272
392
  }
393
+ // ==================== 输入事件(通过 CDP)====================
273
394
  async inputMouse(type, x, y, options = {}) {
274
395
  await this.httpServer.sendCommand('input_mouse', {
275
396
  tabId: this.currentTabId,
@@ -293,33 +414,32 @@ export class ExtensionBridge {
293
414
  delay,
294
415
  });
295
416
  }
296
- // ==================== 控制台日志 ====================
297
417
  async consoleEnable() {
298
418
  await this.httpServer.sendCommand('console_enable', {
299
419
  tabId: this.currentTabId,
300
420
  });
301
421
  }
422
+ // ==================== 控制台日志 ====================
302
423
  async consoleGet(options = {}) {
303
- const result = await this.httpServer.sendCommand('console_get', {
424
+ const result = (await this.httpServer.sendCommand('console_get', {
304
425
  tabId: this.currentTabId,
305
426
  ...options,
306
- });
427
+ }));
307
428
  return result.messages;
308
429
  }
309
- // ==================== 网络日志 ====================
310
430
  async networkEnable() {
311
431
  await this.httpServer.sendCommand('network_enable', {
312
432
  tabId: this.currentTabId,
313
433
  });
314
434
  }
435
+ // ==================== 网络日志 ====================
315
436
  async networkGet(options = {}) {
316
- const result = await this.httpServer.sendCommand('network_get', {
437
+ const result = (await this.httpServer.sendCommand('network_get', {
317
438
  tabId: this.currentTabId,
318
439
  ...options,
319
- });
440
+ }));
320
441
  return result.requests;
321
442
  }
322
- // ==================== Stealth 模式(JS 事件模拟,无 debugger)====================
323
443
  async stealthType(text, delay = 0) {
324
444
  await this.httpServer.sendCommand('stealth_type', {
325
445
  tabId: this.currentTabId,
@@ -328,6 +448,7 @@ export class ExtensionBridge {
328
448
  delay,
329
449
  });
330
450
  }
451
+ // ==================== Stealth 模式(JS 事件模拟,无 debugger)====================
331
452
  async stealthKey(key, type = 'press', modifiers = []) {
332
453
  await this.httpServer.sendCommand('stealth_key', {
333
454
  tabId: this.currentTabId,
@@ -337,13 +458,15 @@ export class ExtensionBridge {
337
458
  modifiers,
338
459
  });
339
460
  }
340
- async stealthClick(x, y, button = 'left') {
461
+ async stealthClick(x, y, button = 'left', clickCount = 1, refId) {
341
462
  await this.httpServer.sendCommand('stealth_click', {
342
463
  tabId: this.currentTabId,
343
464
  frameId: this.currentFrameId || undefined,
344
465
  x,
345
466
  y,
346
467
  button,
468
+ clickCount,
469
+ refId,
347
470
  });
348
471
  }
349
472
  async stealthMouse(type, x, y, button = 'left') {
@@ -362,10 +485,10 @@ export class ExtensionBridge {
362
485
  frameId: this.currentFrameId || undefined,
363
486
  });
364
487
  }
365
- // ==================== 状态管理 ====================
366
488
  getState() {
367
489
  return this.state;
368
490
  }
491
+ // ==================== 状态管理 ====================
369
492
  getCurrentTabId() {
370
493
  return this.currentTabId;
371
494
  }
@@ -382,23 +505,30 @@ export class ExtensionBridge {
382
505
  * 在指定 iframe 中以 precise 模式执行 JS(通过 contextId 绕过 CSP)
383
506
  */
384
507
  async evaluateInFrame(frameId, expression, timeout) {
385
- return await this.httpServer.sendCommand('evaluate_in_frame', {
508
+ return (await this.httpServer.sendCommand('evaluate_in_frame', {
386
509
  tabId: this.currentTabId,
387
510
  frameId,
388
511
  expression,
389
512
  returnByValue: true,
390
513
  awaitPromise: true,
391
514
  timeout,
392
- }, timeout);
515
+ }, timeout));
393
516
  }
394
517
  /**
395
518
  * 解析 iframe 选择器/索引 → frameId
396
519
  */
397
520
  async resolveFrame(frame) {
398
- return await this.httpServer.sendCommand('resolve_frame', {
521
+ return (await this.httpServer.sendCommand('resolve_frame', {
399
522
  tabId: this.currentTabId,
400
523
  frame,
401
- });
524
+ }));
525
+ }
526
+ parseTargetId(targetId) {
527
+ const parsed = parseInt(targetId, 10);
528
+ if (isNaN(parsed)) {
529
+ throw new DriverCapabilityError(`无效的 Tab ID: ${targetId}`);
530
+ }
531
+ return parsed;
402
532
  }
403
533
  updateState(url, title) {
404
534
  this.state = { url, title };
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/extension/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/extension/bridge.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,9 @@ export declare class ExtensionHttpServer extends EventEmitter {
28
28
  * 发送命令到 Extension
29
29
  * @param action 操作名称
30
30
  * @param params 操作参数
31
- * @param requestTimeout 端到端预算(毫秒),包含连接等待和请求超时。
32
- * 不传则使用 REQUEST_TIMEOUT (30s)
33
- * ≤0 直接失败。
31
+ * @param requestTimeout 端到端预算(毫秒),包含连接等待和请求超时,
32
+ * 不传则使用 REQUEST_TIMEOUT (30s)
33
+ * ≤0 直接失败
34
34
  */
35
35
  sendCommand(action: string, params?: unknown, requestTimeout?: number): Promise<unknown>;
36
36
  waitForConnection(timeout?: number): Promise<boolean>;
@@ -47,12 +47,14 @@ export declare class ExtensionHttpServer extends EventEmitter {
47
47
  /**
48
48
  * 启动心跳:定期发送 ping,检测 pong 响应
49
49
  * 如果 Extension 的 Service Worker 被 Chrome 杀死,TCP 连接可能不会立即关闭,
50
- * 心跳机制能及时检测到这种"半死"连接并清理。
50
+ * 心跳机制能及时检测到这种"半死"连接并清理
51
51
  */
52
52
  private startHeartbeat;
53
53
  private stopHeartbeat;
54
54
  /**
55
55
  * 立即 reject 所有 pending 请求并清理
56
+ *
57
+ * Extension 断开类原因抛 typed Error,便于上层 instanceof 判断而无需字符串匹配
56
58
  */
57
59
  private rejectPendingHandlers;
58
60
  private generateId;
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/extension/http-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAWnC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAQD,qBAAa,mBAAoB,SAAQ,YAAY;IAUrC,OAAO,CAAC,OAAO;IAT3B,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,GAAG,CAA4C;IACvD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,IAAI,CAAwC;IACpD,OAAO,CAAC,eAAe,CAA6D;IACpF,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,YAAY,CAAoC;gBAEpC,OAAO,GAAE,iBAAsB;IAI7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;;;OAOG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqD5F,iBAAiB,CAAC,OAAO,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BtD,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,MAAM;IAIX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,iBAAiB;IA2CzB,OAAO,CAAC,aAAa;IA+CrB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,UAAU;CAGrB"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../../src/extension/http-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAgBrC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAQD,qBAAa,mBAAoB,SAAQ,YAAY;IAUrC,OAAO,CAAC,OAAO;IAT3B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,IAAI,CAAI;IAChB,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,YAAY,CAAQ;gBAER,OAAO,GAAE,iBAAsB;IAI7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;;;OAOG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwD5F,iBAAiB,CAAC,OAAO,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BtD,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,MAAM;IAIX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyDtB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,iBAAiB;IA6CzB,OAAO,CAAC,aAAa;IAmDrB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,aAAa;IAOrB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,UAAU;CAGrB"}