web-fetcher-mcp 1.0.13 → 1.0.14
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 +106 -10
- package/dist/index.js.map +1 -1
- package/dist/tools/execute-js.js.map +1 -1
- package/dist/tools/list-tabs.d.ts +6 -0
- package/dist/tools/list-tabs.d.ts.map +1 -0
- package/dist/tools/list-tabs.js +28 -0
- package/dist/tools/list-tabs.js.map +1 -0
- package/dist/tools/tab-manager.d.ts +10 -0
- package/dist/tools/tab-manager.d.ts.map +1 -0
- package/dist/tools/tab-manager.js +31 -0
- package/dist/tools/tab-manager.js.map +1 -0
- package/dist/tools/web-page-fetcher.d.ts +1 -1
- package/dist/tools/web-page-fetcher.d.ts.map +1 -1
- package/dist/tools/web-page-fetcher.js +9 -5
- package/dist/tools/web-page-fetcher.js.map +1 -1
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/browser.d.ts +16 -0
- package/dist/utils/browser.d.ts.map +1 -1
- package/dist/utils/browser.js +18 -23
- package/dist/utils/browser.js.map +1 -1
- package/dist/utils/tabs.d.ts +55 -0
- package/dist/utils/tabs.d.ts.map +1 -0
- package/dist/utils/tabs.js +173 -0
- package/dist/utils/tabs.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -19,11 +19,13 @@ import { selectOption } from './tools/select-option.js';
|
|
|
19
19
|
import { navigateHistory } from './tools/navigate-history.js';
|
|
20
20
|
import { uploadFile } from './tools/upload-file.js';
|
|
21
21
|
import { executeJs } from './tools/execute-js.js';
|
|
22
|
+
import { listTabs } from './tools/list-tabs.js';
|
|
23
|
+
import { switchTab as switchTabTool, closeTab as closeTabTool } from './tools/tab-manager.js';
|
|
22
24
|
// 定义工具列表
|
|
23
25
|
const tools = [
|
|
24
26
|
{
|
|
25
27
|
name: 'fetch-web-page',
|
|
26
|
-
description: '
|
|
28
|
+
description: '获取任意网页的内容(包括文字和图片)。支持需要登录的页面,首次访问需要手动登录时会自动保存登录状态。支持多标签页,可通过 tabId 指定在哪个标签页打开。',
|
|
27
29
|
inputSchema: z.object({
|
|
28
30
|
url: z.string().describe('网页的完整 URL,例如:https://cloud.tencent.com/document/product/866/43106'),
|
|
29
31
|
contentSelector: z.string().optional().default('body').describe('内容选择器,用于指定要提取内容的 HTML 元素,默认值为 "body"'),
|
|
@@ -32,6 +34,7 @@ const tools = [
|
|
|
32
34
|
waitForLogin: z.boolean().optional().default(false).describe('当检测到需要登录时是否等待用户手动登录,默认值为 false'),
|
|
33
35
|
includeHtmlSkeleton: z.boolean().optional().default(false).describe('是否返回 HTML 骨架结构,默认值为 false(为节省 token,默认不返回,在需要点击元素时请设置为 true)'),
|
|
34
36
|
includeFormElements: z.boolean().optional().default(false).describe('是否返回页面表单元素信息,默认值为 false(为节省 token,默认不返回,在需要填写表单时请设置为 true)'),
|
|
37
|
+
tabId: z.string().optional().describe('标签页 ID。不提供则创建新标签页;提供已有的 tabId 则在该标签页中打开 URL'),
|
|
35
38
|
}),
|
|
36
39
|
},
|
|
37
40
|
{
|
|
@@ -78,7 +81,7 @@ const tools = [
|
|
|
78
81
|
},
|
|
79
82
|
{
|
|
80
83
|
name: 'get-page-info',
|
|
81
|
-
description: '获取当前页面的信息(HTML
|
|
84
|
+
description: '获取当前页面的信息(HTML骨架、文本内容、表单元素等),不刷新页面。适合在点击导航后获取新页面内容。支持多标签页。',
|
|
82
85
|
inputSchema: z.object({
|
|
83
86
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面,默认 current'),
|
|
84
87
|
includeHtmlSkeleton: z.boolean().optional().default(false).describe('是否返回 HTML 骨架结构,默认 false'),
|
|
@@ -91,7 +94,7 @@ const tools = [
|
|
|
91
94
|
},
|
|
92
95
|
{
|
|
93
96
|
name: 'open-devtools',
|
|
94
|
-
description: '打开浏览器开发者工具(DevTools
|
|
97
|
+
description: '打开浏览器开发者工具(DevTools)。支持开启手机设备模拟模式,方便进行移动端页面调试。支持多标签页。',
|
|
95
98
|
inputSchema: z.object({
|
|
96
99
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
97
100
|
isMobile: z.boolean().optional().default(false).describe('是否开启手机设备模式,默认 false'),
|
|
@@ -110,7 +113,7 @@ const tools = [
|
|
|
110
113
|
},
|
|
111
114
|
{
|
|
112
115
|
name: 'scroll-page',
|
|
113
|
-
description: '
|
|
116
|
+
description: '滚动页面到指定位置或元素。支持上下左右滚动、按像素量滚动、滚动到指定元素位置。支持多标签页。',
|
|
114
117
|
inputSchema: z.object({
|
|
115
118
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
116
119
|
direction: z.enum(['up', 'down', 'left', 'right']).optional().default('down').describe('滚动方向:up(向上) / down(向下) / left(向左) / right(向右),默认 down'),
|
|
@@ -121,7 +124,7 @@ const tools = [
|
|
|
121
124
|
},
|
|
122
125
|
{
|
|
123
126
|
name: 'wait-for-element',
|
|
124
|
-
description: '
|
|
127
|
+
description: '等待指定元素出现在页面上。用于需要等待动态加载内容的场景,确保元素存在后再进行操作。支持多标签页。',
|
|
125
128
|
inputSchema: z.object({
|
|
126
129
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
127
130
|
selector: z.string().describe('CSS 选择器,等待该选择器匹配的元素出现'),
|
|
@@ -132,7 +135,7 @@ const tools = [
|
|
|
132
135
|
},
|
|
133
136
|
{
|
|
134
137
|
name: 'hover-element',
|
|
135
|
-
description: '
|
|
138
|
+
description: '将鼠标悬停在指定元素上。用于触发悬停菜单、工具提示等需要鼠标悬停才能显示的交互效果。支持多标签页。',
|
|
136
139
|
inputSchema: z.object({
|
|
137
140
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
138
141
|
selector: z.string().describe('CSS 选择器,悬停到该元素上'),
|
|
@@ -141,7 +144,7 @@ const tools = [
|
|
|
141
144
|
},
|
|
142
145
|
{
|
|
143
146
|
name: 'get-element-attributes',
|
|
144
|
-
description: '
|
|
147
|
+
description: '获取页面元素的属性值。可以获取指定属性,也可以获取元素的所有属性。用于检查元素状态、获取数据属性等。支持多标签页。',
|
|
145
148
|
inputSchema: z.object({
|
|
146
149
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
147
150
|
selector: z.string().describe('CSS 选择器'),
|
|
@@ -180,13 +183,26 @@ const tools = [
|
|
|
180
183
|
},
|
|
181
184
|
{
|
|
182
185
|
name: 'execute-js',
|
|
183
|
-
description: '在页面中执行任意 JavaScript 代码并返回结果。可以用于执行复杂的 DOM 操作、获取数据、调用页面上的函数等。例如:document.getElementById("btn").click()、document.querySelector(".title").textContent、window.scrollTo(0, document.body.scrollHeight)',
|
|
186
|
+
description: '在页面中执行任意 JavaScript 代码并返回结果。可以用于执行复杂的 DOM 操作、获取数据、调用页面上的函数等。例如:document.getElementById("btn").click()、document.querySelector(".title").textContent、window.scrollTo(0, document.body.scrollHeight)。',
|
|
184
187
|
inputSchema: z.object({
|
|
185
188
|
url: z.string().optional().default('current').describe('网页 URL,如果是 current 则使用当前已打开的页面'),
|
|
186
189
|
script: z.string().describe('要执行的 JavaScript 代码。支持完整的 JS 语法,可以访问 DOM 和页面上的全局变量。返回值会被序列化输出'),
|
|
187
190
|
useExistingPage: z.boolean().optional().default(true).describe('是否使用已存在的页面,默认 true'),
|
|
188
191
|
}),
|
|
189
192
|
},
|
|
193
|
+
{
|
|
194
|
+
name: 'list-tabs',
|
|
195
|
+
description: '列出浏览器中当前打开的所有标签页信息,包括 ID、URL、标题和活跃状态。用于多标签页场景下的页面管理和切换。',
|
|
196
|
+
inputSchema: z.object({}),
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: 'switch-tab',
|
|
200
|
+
description: '切换到指定标签页(将其带到前台)。也可以关闭指定标签页。用于在多个已打开的网页之间切换操作。',
|
|
201
|
+
inputSchema: z.object({
|
|
202
|
+
tabId: z.string().describe('目标标签页的 ID(通过 list-tabs 获取)'),
|
|
203
|
+
action: z.enum(['switch', 'close']).optional().default('switch').describe('操作类型:switch - 切换到该标签页(默认);close - 关闭该标签页'),
|
|
204
|
+
}),
|
|
205
|
+
},
|
|
190
206
|
];
|
|
191
207
|
// 创建 MCP Server
|
|
192
208
|
const server = new Server({
|
|
@@ -215,8 +231,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
215
231
|
const { name, arguments: args } = request.params;
|
|
216
232
|
if (name === 'fetch-web-page') {
|
|
217
233
|
const validatedArgs = tools[0].inputSchema.parse(args);
|
|
218
|
-
console.error(`正在获取网页: ${validatedArgs.url}`);
|
|
219
|
-
const result = await fetchWebPage(validatedArgs.url, validatedArgs.contentSelector || 'body', validatedArgs.downloadImages !== false, validatedArgs.loginMode || 'skip', validatedArgs.waitForLogin || false, validatedArgs.includeHtmlSkeleton || false, validatedArgs.includeFormElements || false);
|
|
234
|
+
console.error(`正在获取网页: ${validatedArgs.url} (标签页: ${validatedArgs.tabId || '新建'})`);
|
|
235
|
+
const result = await fetchWebPage(validatedArgs.url, validatedArgs.contentSelector || 'body', validatedArgs.downloadImages !== false, validatedArgs.loginMode || 'skip', validatedArgs.waitForLogin || false, validatedArgs.includeHtmlSkeleton || false, validatedArgs.includeFormElements || false, validatedArgs.tabId);
|
|
220
236
|
if (result.success && result.content) {
|
|
221
237
|
const contentParts = [];
|
|
222
238
|
// 添加表单元素信息(仅在请求时返回)
|
|
@@ -849,6 +865,86 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
849
865
|
};
|
|
850
866
|
}
|
|
851
867
|
}
|
|
868
|
+
if (name === 'list-tabs') {
|
|
869
|
+
console.error('正在获取标签页列表...');
|
|
870
|
+
const result = await listTabs();
|
|
871
|
+
if (result.success) {
|
|
872
|
+
let responseText = `📑 浏览器标签页列表\n\n`;
|
|
873
|
+
responseText += `总标签数: ${result.totalTabs}\n`;
|
|
874
|
+
if (result.activeTabId) {
|
|
875
|
+
responseText += `当前活跃: ${result.activeTabId}\n`;
|
|
876
|
+
}
|
|
877
|
+
responseText += `\n`;
|
|
878
|
+
if (result.tabs.length > 0) {
|
|
879
|
+
result.tabs.forEach((tab, i) => {
|
|
880
|
+
const active = tab.isActive ? ' ⬅️ 当前' : '';
|
|
881
|
+
responseText += `${i + 1}. [${tab.id}]${active}\n`;
|
|
882
|
+
responseText += ` 标题: ${tab.title || '(无标题)'}\n`;
|
|
883
|
+
responseText += ` URL: ${tab.url}\n\n`;
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
else {
|
|
887
|
+
responseText += `(暂无打开的标签页)\n`;
|
|
888
|
+
}
|
|
889
|
+
return {
|
|
890
|
+
content: [{ type: 'text', text: responseText }],
|
|
891
|
+
};
|
|
892
|
+
}
|
|
893
|
+
else {
|
|
894
|
+
return {
|
|
895
|
+
content: [{
|
|
896
|
+
type: 'text',
|
|
897
|
+
text: `❌ 获取标签页列表失败:${result.error || '未知错误'}`,
|
|
898
|
+
}],
|
|
899
|
+
};
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
if (name === 'switch-tab') {
|
|
903
|
+
const validatedArgs = tools[17].inputSchema.parse(args);
|
|
904
|
+
if (validatedArgs.action === 'close') {
|
|
905
|
+
console.error(`正在关闭标签页: ${validatedArgs.tabId}`);
|
|
906
|
+
const result = await closeTabTool(validatedArgs.tabId);
|
|
907
|
+
if (result.success) {
|
|
908
|
+
return {
|
|
909
|
+
content: [{
|
|
910
|
+
type: 'text',
|
|
911
|
+
text: `✅ 标签页已关闭!\n\n关闭的标签页: ${result.closedTabId}\n${result.newActiveTabId ? `当前活跃标签页: ${result.newActiveTabId}` : '当前无活跃标签页'}`,
|
|
912
|
+
}],
|
|
913
|
+
};
|
|
914
|
+
}
|
|
915
|
+
else {
|
|
916
|
+
return {
|
|
917
|
+
content: [{
|
|
918
|
+
type: 'text',
|
|
919
|
+
text: `❌ 关闭标签页失败:${result.error || '未知错误'}`,
|
|
920
|
+
}],
|
|
921
|
+
};
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
else {
|
|
925
|
+
console.error(`正在切换到标签页: ${validatedArgs.tabId}`);
|
|
926
|
+
const result = await switchTabTool(validatedArgs.tabId);
|
|
927
|
+
if (result.success && result.tabInfo) {
|
|
928
|
+
return {
|
|
929
|
+
content: [{
|
|
930
|
+
type: 'text',
|
|
931
|
+
text: `✅ 已切换到标签页!\n\n` +
|
|
932
|
+
`- ID: ${result.tabInfo.id}\n` +
|
|
933
|
+
`- 标题: ${result.tabInfo.title}\n` +
|
|
934
|
+
`- URL: ${result.tabInfo.url}`,
|
|
935
|
+
}],
|
|
936
|
+
};
|
|
937
|
+
}
|
|
938
|
+
else {
|
|
939
|
+
return {
|
|
940
|
+
content: [{
|
|
941
|
+
type: 'text',
|
|
942
|
+
text: `❌ 切换标签页失败:${result.error || '未知错误'}`,
|
|
943
|
+
}],
|
|
944
|
+
};
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
}
|
|
852
948
|
throw new Error(`未知工具:${name}`);
|
|
853
949
|
});
|
|
854
950
|
// 启动服务器
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-js.js","sourceRoot":"","sources":["../../src/tools/execute-js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUxE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,SAAS,EACvB,MAAc,EACd,kBAA2B,IAAI,EAC/B,gBAAyB,IAAI;IAE7B,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3F,IAAI,CAAC,eAAe,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC;QAExD,gBAAgB;QAChB,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;YACnC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEpC,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAErC,QAAQ;QACR,IAAI,UAAU,GAAW,OAAO,
|
|
1
|
+
{"version":3,"file":"execute-js.js","sourceRoot":"","sources":["../../src/tools/execute-js.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-tabs.d.ts","sourceRoot":"","sources":["../../src/tools/list-tabs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAsBxD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { getBrowser } from '../utils/browser.js';
|
|
2
|
+
import { listTabs as listTabsFromManager } from '../utils/tabs.js';
|
|
3
|
+
/**
|
|
4
|
+
* 列出所有打开的标签页
|
|
5
|
+
*/
|
|
6
|
+
export async function listTabs() {
|
|
7
|
+
try {
|
|
8
|
+
const browserConnection = await getBrowser();
|
|
9
|
+
const { browser } = browserConnection;
|
|
10
|
+
const tabs = await listTabsFromManager(browser);
|
|
11
|
+
const activeTabId = tabs.find(t => t.isActive)?.id || null;
|
|
12
|
+
return {
|
|
13
|
+
success: true,
|
|
14
|
+
tabs,
|
|
15
|
+
activeTabId,
|
|
16
|
+
totalTabs: tabs.length,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
return {
|
|
21
|
+
success: false,
|
|
22
|
+
error: error.message || '获取标签页列表失败',
|
|
23
|
+
tabs: [],
|
|
24
|
+
totalTabs: 0,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=list-tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-tabs.js","sourceRoot":"","sources":["../../src/tools/list-tabs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC;QAEtC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;QAE3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,MAAM;SACvB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW;YACnC,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SwitchTabResult, CloseTabResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* 切换到指定标签页
|
|
4
|
+
*/
|
|
5
|
+
export declare function switchTab(tabId: string): Promise<SwitchTabResult>;
|
|
6
|
+
/**
|
|
7
|
+
* 关闭指定标签页
|
|
8
|
+
*/
|
|
9
|
+
export declare function closeTab(tabId: string): Promise<CloseTabResult>;
|
|
10
|
+
//# sourceMappingURL=tab-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-manager.d.ts","sourceRoot":"","sources":["../../src/tools/tab-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMvE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAarE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { switchTab as switchTabInManager, closeTab as closeTabInManager, getActiveTabId } from '../utils/tabs.js';
|
|
2
|
+
/**
|
|
3
|
+
* 切换到指定标签页
|
|
4
|
+
*/
|
|
5
|
+
export async function switchTab(tabId) {
|
|
6
|
+
try {
|
|
7
|
+
return await switchTabInManager(tabId);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
return { success: false, error: error.message };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 关闭指定标签页
|
|
15
|
+
*/
|
|
16
|
+
export async function closeTab(tabId) {
|
|
17
|
+
try {
|
|
18
|
+
const result = await closeTabInManager(tabId);
|
|
19
|
+
if (result.success) {
|
|
20
|
+
return {
|
|
21
|
+
...result,
|
|
22
|
+
newActiveTabId: getActiveTabId(),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return { success: false, error: error.message };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=tab-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-manager.js","sourceRoot":"","sources":["../../src/tools/tab-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,QAAQ,IAAI,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAa;IAC3C,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO;gBACL,GAAG,MAAM;gBACT,cAAc,EAAE,cAAc,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FetchPageResult } from '../types/index.js';
|
|
2
|
-
export declare function fetchWebPage(url: string, contentSelector?: string, downloadImages?: boolean, loginMode?: 'auto' | 'manual' | 'skip', waitForLogin?: boolean, includeHtmlSkeleton?: boolean, includeFormElements?: boolean): Promise<FetchPageResult>;
|
|
2
|
+
export declare function fetchWebPage(url: string, contentSelector?: string, downloadImages?: boolean, loginMode?: 'auto' | 'manual' | 'skip', waitForLogin?: boolean, includeHtmlSkeleton?: boolean, includeFormElements?: boolean, tabId?: string): Promise<FetchPageResult>;
|
|
3
3
|
//# sourceMappingURL=web-page-fetcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-page-fetcher.d.ts","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-page-fetcher.d.ts","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAQrE,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,eAAe,GAAE,MAAe,EAChC,cAAc,GAAE,OAAc,EAC9B,SAAS,GAAE,MAAM,GAAG,QAAQ,GAAG,MAAe,EAC9C,YAAY,GAAE,OAAe,EAC7B,mBAAmB,GAAE,OAAe,EACpC,mBAAmB,GAAE,OAAe,EACpC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC,CAgH1B"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
import { getBrowser,
|
|
1
|
+
import { getBrowser, getPageWithTab, closeBrowser } from '../utils/browser.js';
|
|
2
2
|
import { loadCookies, saveCookies } from '../utils/cookies.js';
|
|
3
3
|
import { checkLoginRequired, waitForManualLogin } from '../utils/login-check.js';
|
|
4
4
|
import { extractPageContent } from '../utils/page-content.js';
|
|
5
5
|
import { downloadAndConvertImage } from '../utils/images.js';
|
|
6
6
|
// 主函数:获取网页内容
|
|
7
|
-
export async function fetchWebPage(url, contentSelector = 'body', downloadImages = true, loginMode = 'skip', waitForLogin = false, includeHtmlSkeleton = false, includeFormElements = false) {
|
|
7
|
+
export async function fetchWebPage(url, contentSelector = 'body', downloadImages = true, loginMode = 'skip', waitForLogin = false, includeHtmlSkeleton = false, includeFormElements = false, tabId) {
|
|
8
8
|
let browserConnection = null;
|
|
9
9
|
try {
|
|
10
10
|
// 获取浏览器实例
|
|
11
11
|
browserConnection = await getBrowser();
|
|
12
12
|
const { browser, useExistingBrowser } = browserConnection;
|
|
13
|
-
//
|
|
14
|
-
const
|
|
15
|
-
|
|
13
|
+
// 获取页面(支持多标签页)
|
|
14
|
+
const pageResult = await getPageWithTab(browser, useExistingBrowser, {
|
|
15
|
+
tabId: tabId, // 如果提供 tabId 则使用该标签页,否则新建
|
|
16
|
+
url: url,
|
|
17
|
+
});
|
|
18
|
+
const page = pageResult.page;
|
|
19
|
+
console.error(`正在访问网页 (标签页: ${pageResult.tabId})...`);
|
|
16
20
|
await page.goto(url, {
|
|
17
21
|
waitUntil: 'networkidle2',
|
|
18
22
|
timeout: 60000
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-page-fetcher.js","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web-page-fetcher.js","sourceRoot":"","sources":["../../src/tools/web-page-fetcher.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -190,4 +190,28 @@ export interface UploadFileResult {
|
|
|
190
190
|
accept?: string;
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
|
+
export interface TabInfo {
|
|
194
|
+
id: string;
|
|
195
|
+
url: string;
|
|
196
|
+
title: string;
|
|
197
|
+
isActive: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface ListTabsResult {
|
|
200
|
+
success: boolean;
|
|
201
|
+
error?: string;
|
|
202
|
+
tabs: TabInfo[];
|
|
203
|
+
activeTabId?: string | null;
|
|
204
|
+
totalTabs: number;
|
|
205
|
+
}
|
|
206
|
+
export interface SwitchTabResult {
|
|
207
|
+
success: boolean;
|
|
208
|
+
error?: string;
|
|
209
|
+
tabInfo?: TabInfo;
|
|
210
|
+
}
|
|
211
|
+
export interface CloseTabResult {
|
|
212
|
+
success: boolean;
|
|
213
|
+
error?: string;
|
|
214
|
+
closedTabId?: string;
|
|
215
|
+
newActiveTabId?: string | null;
|
|
216
|
+
}
|
|
193
217
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/browser.d.ts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { Browser, Page } from 'puppeteer';
|
|
2
2
|
import { BrowserConnection } from '../types/index.js';
|
|
3
3
|
export declare function getBrowser(): Promise<BrowserConnection>;
|
|
4
|
+
/**
|
|
5
|
+
* 获取或创建页面(保持向后兼容,返回 Page)
|
|
6
|
+
* 用于除 fetch-web-page 外的所有工具
|
|
7
|
+
*/
|
|
4
8
|
export declare function getPage(browser: Browser, useExistingBrowser: boolean, url?: string): Promise<Page>;
|
|
9
|
+
/**
|
|
10
|
+
* 获取或创建标签页(支持多标签页,返回 tabId)
|
|
11
|
+
* 仅用于 fetch-web-page 工具
|
|
12
|
+
*/
|
|
13
|
+
export declare function getPageWithTab(browser: Browser, useExistingBrowser: boolean, options?: {
|
|
14
|
+
tabId?: string;
|
|
15
|
+
url?: string;
|
|
16
|
+
createNew?: boolean;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
page: Page;
|
|
19
|
+
tabId: string;
|
|
20
|
+
}>;
|
|
5
21
|
export declare function closeBrowser(browser: Browser, useExistingBrowser: boolean, keepOpen?: boolean): Promise<void>;
|
|
6
22
|
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAetD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoD7D;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAExC;AAGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB1H"}
|
package/dist/utils/browser.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import puppeteer from 'puppeteer';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import { CHROME_PATH, DEBUGGING_PORT, USER_DATA_DIR, DATA_DIR } from './config.js';
|
|
4
|
-
import {
|
|
4
|
+
import { setupBrowserConsoleCollector } from './console-logger.js';
|
|
5
|
+
import { getOrCreateTab, cleanupClosedTabs } from './tabs.js';
|
|
5
6
|
// 确保数据目录存在
|
|
6
7
|
function ensureDataDir() {
|
|
7
8
|
if (!fs.existsSync(DATA_DIR)) {
|
|
@@ -14,6 +15,8 @@ function ensureDataDir() {
|
|
|
14
15
|
// 连接到已有 Chrome 实例或启动新实例
|
|
15
16
|
export async function getBrowser() {
|
|
16
17
|
ensureDataDir();
|
|
18
|
+
// 先清理已关闭的标签页
|
|
19
|
+
cleanupClosedTabs();
|
|
17
20
|
// 优先尝试连接已有的 Chrome 实例
|
|
18
21
|
try {
|
|
19
22
|
console.error('尝试连接到已有的 Chrome 实例 (端口 9222)...');
|
|
@@ -62,29 +65,21 @@ export async function getBrowser() {
|
|
|
62
65
|
throw new Error(`无法启动浏览器:${launchError.message}。请确保已安装 Google Chrome 浏览器,并且路径正确。`);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
|
-
|
|
68
|
+
/**
|
|
69
|
+
* 获取或创建页面(保持向后兼容,返回 Page)
|
|
70
|
+
* 用于除 fetch-web-page 外的所有工具
|
|
71
|
+
*/
|
|
66
72
|
export async function getPage(browser, useExistingBrowser, url) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// 设置全屏(不使用固定视口)
|
|
78
|
-
await page.setViewport({ width: 0, height: 0 });
|
|
79
|
-
// 如果需要导航到指定 URL
|
|
80
|
-
if (url && url !== 'current') {
|
|
81
|
-
const currentUrl = page.url();
|
|
82
|
-
if (currentUrl !== url) {
|
|
83
|
-
console.error(`导航到: ${url}`);
|
|
84
|
-
await page.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return page;
|
|
73
|
+
// 使用标签页管理器,但对外只暴露 page 对象
|
|
74
|
+
const result = await getOrCreateTab(browser, useExistingBrowser, { url });
|
|
75
|
+
return result.page;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 获取或创建标签页(支持多标签页,返回 tabId)
|
|
79
|
+
* 仅用于 fetch-web-page 工具
|
|
80
|
+
*/
|
|
81
|
+
export async function getPageWithTab(browser, useExistingBrowser, options) {
|
|
82
|
+
return getOrCreateTab(browser, useExistingBrowser, options);
|
|
88
83
|
}
|
|
89
84
|
// 关闭浏览器或断开连接
|
|
90
85
|
export async function closeBrowser(browser, useExistingBrowser, keepOpen = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"AAAA,OAAO,SAA4B,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/utils/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Browser, Page } from 'puppeteer';
|
|
2
|
+
export interface TabInfo {
|
|
3
|
+
id: string;
|
|
4
|
+
url: string;
|
|
5
|
+
title: string;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 获取或创建指定标签页
|
|
10
|
+
* @param browser 浏览器实例
|
|
11
|
+
* @param useExistingBrowser 是否使用已有浏览器
|
|
12
|
+
* @param tabId 指定标签页 ID(可选)
|
|
13
|
+
* @param url 导航到的 URL(可选,仅在 fetch-web-page 时使用)
|
|
14
|
+
*/
|
|
15
|
+
export declare function getOrCreateTab(browser: Browser, useExistingBrowser: boolean, options?: {
|
|
16
|
+
tabId?: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
createNew?: boolean;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
page: Page;
|
|
21
|
+
tabId: string;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* 根据 tabId 获取页面
|
|
25
|
+
*/
|
|
26
|
+
export declare function getPageByTabId(tabId: string): Page | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* 获取当前活跃标签页 ID
|
|
29
|
+
*/
|
|
30
|
+
export declare function getActiveTabId(): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* 获取所有标签页列表
|
|
33
|
+
*/
|
|
34
|
+
export declare function listTabs(browser: Browser): Promise<TabInfo[]>;
|
|
35
|
+
/**
|
|
36
|
+
* 切换到指定标签页
|
|
37
|
+
*/
|
|
38
|
+
export declare function switchTab(tabId: string): Promise<{
|
|
39
|
+
success: boolean;
|
|
40
|
+
error?: string;
|
|
41
|
+
tabInfo?: TabInfo;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* 关闭指定标签页
|
|
45
|
+
*/
|
|
46
|
+
export declare function closeTab(tabId: string): Promise<{
|
|
47
|
+
success: boolean;
|
|
48
|
+
error?: string;
|
|
49
|
+
closedTabId?: string;
|
|
50
|
+
}>;
|
|
51
|
+
/**
|
|
52
|
+
* 清理已关闭的标签页(从 map 中移除)
|
|
53
|
+
*/
|
|
54
|
+
export declare function cleanupClosedTabs(): void;
|
|
55
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmBD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6DxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAuBnE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6B/G;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBjH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { setupConsoleCollector } from './console-logger.js';
|
|
2
|
+
// 标签页存储:key=tabId, value=Page
|
|
3
|
+
const tabMap = new Map();
|
|
4
|
+
// 当前活跃的标签页 ID
|
|
5
|
+
let activeTabId = null;
|
|
6
|
+
// 标签页 ID 计数器
|
|
7
|
+
let tabIdCounter = 0;
|
|
8
|
+
/**
|
|
9
|
+
* 生成唯一标签页 ID
|
|
10
|
+
*/
|
|
11
|
+
function generateTabId() {
|
|
12
|
+
tabIdCounter++;
|
|
13
|
+
return `tab_${tabIdCounter}`;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 获取或创建指定标签页
|
|
17
|
+
* @param browser 浏览器实例
|
|
18
|
+
* @param useExistingBrowser 是否使用已有浏览器
|
|
19
|
+
* @param tabId 指定标签页 ID(可选)
|
|
20
|
+
* @param url 导航到的 URL(可选,仅在 fetch-web-page 时使用)
|
|
21
|
+
*/
|
|
22
|
+
export async function getOrCreateTab(browser, useExistingBrowser, options) {
|
|
23
|
+
const { tabId: targetTabId, url, createNew } = options || {};
|
|
24
|
+
// 如果指定了 tabId 且不要求新建
|
|
25
|
+
if (targetTabId && !createNew) {
|
|
26
|
+
const existingPage = tabMap.get(targetTabId);
|
|
27
|
+
if (existingPage && !existingPage.isClosed()) {
|
|
28
|
+
// 设置为当前活跃标签
|
|
29
|
+
activeTabId = targetTabId;
|
|
30
|
+
console.error(`使用已有标签页: ${targetTabId}`);
|
|
31
|
+
// 如果需要导航到新 URL
|
|
32
|
+
if (url && url !== 'current') {
|
|
33
|
+
const currentUrl = existingPage.url();
|
|
34
|
+
if (currentUrl !== url) {
|
|
35
|
+
console.error(`标签页 ${targetTabId} 导航到: ${url}`);
|
|
36
|
+
await existingPage.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { page: existingPage, tabId: targetTabId };
|
|
40
|
+
}
|
|
41
|
+
// 页面已关闭,从 map 中移除
|
|
42
|
+
tabMap.delete(targetTabId);
|
|
43
|
+
console.error(`标签页 ${targetTabId} 已关闭或不存在`);
|
|
44
|
+
}
|
|
45
|
+
// 创建新标签页
|
|
46
|
+
let newPage;
|
|
47
|
+
if (useExistingBrowser) {
|
|
48
|
+
// 连接已有浏览器模式:直接新建页面
|
|
49
|
+
newPage = await browser.newPage();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// 独立浏览器模式
|
|
53
|
+
newPage = await browser.newPage();
|
|
54
|
+
}
|
|
55
|
+
// 生成新的标签页 ID(如果没指定或指定的已失效)
|
|
56
|
+
const newTabId = targetTabId ? targetTabId : generateTabId();
|
|
57
|
+
// 设置控制台日志收集
|
|
58
|
+
setupConsoleCollector(newPage);
|
|
59
|
+
// 设置全屏视口
|
|
60
|
+
await newPage.setViewport({ width: 0, height: 0 });
|
|
61
|
+
// 存储到 map
|
|
62
|
+
tabMap.set(newTabId, newPage);
|
|
63
|
+
activeTabId = newTabId;
|
|
64
|
+
console.error(`创建新标签页: ${newTabId}`);
|
|
65
|
+
// 如果需要导航到 URL
|
|
66
|
+
if (url && url !== 'current') {
|
|
67
|
+
console.error(`标签页 ${newTabId} 导航到: ${url}`);
|
|
68
|
+
await newPage.goto(url, { waitUntil: 'networkidle2', timeout: 60000 });
|
|
69
|
+
}
|
|
70
|
+
return { page: newPage, tabId: newTabId };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 根据 tabId 获取页面
|
|
74
|
+
*/
|
|
75
|
+
export function getPageByTabId(tabId) {
|
|
76
|
+
return tabMap.get(tabId);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 获取当前活跃标签页 ID
|
|
80
|
+
*/
|
|
81
|
+
export function getActiveTabId() {
|
|
82
|
+
return activeTabId;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* 获取所有标签页列表
|
|
86
|
+
*/
|
|
87
|
+
export async function listTabs(browser) {
|
|
88
|
+
const allPages = await browser.pages();
|
|
89
|
+
const tabs = [];
|
|
90
|
+
for (const [tabId, page] of tabMap.entries()) {
|
|
91
|
+
if (!page.isClosed()) {
|
|
92
|
+
try {
|
|
93
|
+
tabs.push({
|
|
94
|
+
id: tabId,
|
|
95
|
+
url: page.url(),
|
|
96
|
+
title: await page.title(),
|
|
97
|
+
isActive: tabId === activeTabId,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
// 页面可能已损坏,跳过
|
|
102
|
+
tabMap.delete(tabId);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
tabMap.delete(tabId);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return tabs;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 切换到指定标签页
|
|
113
|
+
*/
|
|
114
|
+
export async function switchTab(tabId) {
|
|
115
|
+
const page = tabMap.get(tabId);
|
|
116
|
+
if (!page) {
|
|
117
|
+
return { success: false, error: `标签页 ${tabId} 不存在` };
|
|
118
|
+
}
|
|
119
|
+
if (page.isClosed()) {
|
|
120
|
+
tabMap.delete(tabId);
|
|
121
|
+
return { success: false, error: `标签页 ${tabId} 已被关闭` };
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
// 将该标签页带到前台
|
|
125
|
+
await page.bringToFront();
|
|
126
|
+
activeTabId = tabId;
|
|
127
|
+
return {
|
|
128
|
+
success: true,
|
|
129
|
+
tabInfo: {
|
|
130
|
+
id: tabId,
|
|
131
|
+
url: page.url(),
|
|
132
|
+
title: await page.title(),
|
|
133
|
+
isActive: true,
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
return { success: false, error: e.message };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* 关闭指定标签页
|
|
143
|
+
*/
|
|
144
|
+
export async function closeTab(tabId) {
|
|
145
|
+
const page = tabMap.get(tabId);
|
|
146
|
+
if (!page) {
|
|
147
|
+
return { success: false, error: `标签页 ${tabId} 不存在` };
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
await page.close();
|
|
151
|
+
tabMap.delete(tabId);
|
|
152
|
+
// 如果关闭的是当前活跃标签,切换到最后一个标签
|
|
153
|
+
if (activeTabId === tabId) {
|
|
154
|
+
const remainingTabs = Array.from(tabMap.keys());
|
|
155
|
+
activeTabId = remainingTabs.length > 0 ? remainingTabs[remainingTabs.length - 1] : null;
|
|
156
|
+
}
|
|
157
|
+
return { success: true, closedTabId: tabId };
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
return { success: false, error: e.message };
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* 清理已关闭的标签页(从 map 中移除)
|
|
165
|
+
*/
|
|
166
|
+
export function cleanupClosedTabs() {
|
|
167
|
+
for (const [tabId, page] of tabMap.entries()) {
|
|
168
|
+
if (page.isClosed()) {
|
|
169
|
+
tabMap.delete(tabId);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/utils/tabs.ts"],"names":[],"mappings":"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"}
|