@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.
- package/README.md +101 -43
- package/dist/anti-detection/behavior.d.ts.map +1 -1
- package/dist/anti-detection/behavior.js.map +1 -1
- package/dist/anti-detection/index.d.ts +1 -1
- package/dist/anti-detection/index.d.ts.map +1 -1
- package/dist/anti-detection/index.js +1 -1
- package/dist/anti-detection/index.js.map +1 -1
- package/dist/anti-detection/injection.d.ts +6 -2
- package/dist/anti-detection/injection.d.ts.map +1 -1
- package/dist/anti-detection/injection.js +32 -79
- package/dist/anti-detection/injection.js.map +1 -1
- package/dist/cdp/client.d.ts +2 -2
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +8 -10
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/index.d.ts.map +1 -1
- package/dist/cdp/index.js.map +1 -1
- package/dist/cdp/launcher.d.ts.map +1 -1
- package/dist/cdp/launcher.js +40 -13
- 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 +2 -2
- package/dist/core/auto-wait.js.map +1 -1
- package/dist/core/browser-driver.d.ts +307 -0
- package/dist/core/browser-driver.d.ts.map +1 -0
- package/dist/core/browser-driver.js +21 -0
- package/dist/core/browser-driver.js.map +1 -0
- package/dist/core/error-sanitizer.d.ts +25 -0
- package/dist/core/error-sanitizer.d.ts.map +1 -0
- package/dist/core/error-sanitizer.js +66 -0
- package/dist/core/error-sanitizer.js.map +1 -0
- package/dist/core/errors.d.ts +10 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +17 -4
- package/dist/core/errors.js.map +1 -1
- package/dist/core/extension-errors.d.ts +20 -0
- package/dist/core/extension-errors.d.ts.map +1 -0
- package/dist/core/extension-errors.js +40 -0
- package/dist/core/extension-errors.js.map +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/locator.d.ts +2 -2
- package/dist/core/locator.d.ts.map +1 -1
- package/dist/core/locator.js +25 -65
- package/dist/core/locator.js.map +1 -1
- package/dist/core/retry.d.ts +2 -2
- package/dist/core/retry.d.ts.map +1 -1
- package/dist/core/retry.js +2 -2
- package/dist/core/retry.js.map +1 -1
- package/dist/core/session.d.ts +153 -46
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +672 -177
- package/dist/core/session.js.map +1 -1
- package/dist/core/types.d.ts +11 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +13 -6
- package/dist/core/types.js.map +1 -1
- package/dist/core/unified-session.d.ts +69 -68
- package/dist/core/unified-session.d.ts.map +1 -1
- package/dist/core/unified-session.js +356 -615
- package/dist/core/unified-session.js.map +1 -1
- package/dist/core/utils.d.ts +7 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +33 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/extension/bridge.d.ts +80 -39
- package/dist/extension/bridge.d.ts.map +1 -1
- package/dist/extension/bridge.js +195 -65
- package/dist/extension/bridge.js.map +1 -1
- package/dist/extension/http-server.d.ts +6 -4
- package/dist/extension/http-server.d.ts.map +1 -1
- package/dist/extension/http-server.js +45 -31
- package/dist/extension/http-server.js.map +1 -1
- package/dist/extension/index.d.ts.map +1 -1
- package/dist/extension/index.js.map +1 -1
- package/dist/index.js +27 -3
- package/dist/index.js.map +1 -1
- package/dist/tools/browse.d.ts.map +1 -1
- package/dist/tools/browse.js +33 -35
- package/dist/tools/browse.js.map +1 -1
- package/dist/tools/cookies.d.ts.map +1 -1
- package/dist/tools/cookies.js +38 -16
- package/dist/tools/cookies.js.map +1 -1
- package/dist/tools/evaluate.d.ts.map +1 -1
- package/dist/tools/evaluate.js +59 -13
- package/dist/tools/evaluate.js.map +1 -1
- package/dist/tools/extract.d.ts.map +1 -1
- package/dist/tools/extract.js +263 -155
- package/dist/tools/extract.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +311 -75
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/logs.d.ts.map +1 -1
- package/dist/tools/logs.js +31 -17
- package/dist/tools/logs.js.map +1 -1
- package/dist/tools/manage.d.ts.map +1 -1
- package/dist/tools/manage.js +25 -28
- package/dist/tools/manage.js.map +1 -1
- package/dist/tools/schema.d.ts +1 -1
- package/dist/tools/schema.d.ts.map +1 -1
- package/dist/tools/schema.js +31 -55
- package/dist/tools/schema.js.map +1 -1
- package/dist/tools/wait.d.ts.map +1 -1
- package/dist/tools/wait.js +73 -22
- package/dist/tools/wait.js.map +1 -1
- package/package.json +48 -40
package/dist/extension/bridge.js
CHANGED
|
@@ -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
|
-
|
|
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?.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
// ====================
|
|
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,
|
|
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"}
|