diff --git a/src/background/domScraper.ts b/src/background/domScraper.ts index 7714c8a..767111c 100644 --- a/src/background/domScraper.ts +++ b/src/background/domScraper.ts @@ -225,4 +225,4 @@ async function processTable(config: PlatformFieldConfig, rootDom: ParentNode) { } return allTableData; -} \ No newline at end of file +} diff --git a/src/background/service/crawlTask.ts b/src/background/service/crawlTask.ts index a008925..3d72f5f 100644 --- a/src/background/service/crawlTask.ts +++ b/src/background/service/crawlTask.ts @@ -225,6 +225,10 @@ async function runCrawlSteps(platform: PlatformConfig, initialState: CrawlTaskSt status: 'completed', steps: state.steps.map((step) => (step.status === 'running' ? { ...step, status: 'success' } : step)), })); + + await chrome.windows.remove(initialState.windowId).catch((error: unknown) => { + console.warn('[crawl] 爬取完成后关闭窗口失败', error); + }); } catch (error: unknown) { console.error('[crawl] 执行失败', error); diff --git a/src/content/pageRunner.ts b/src/content/pageRunner.ts index 6c9f27a..e45d187 100644 --- a/src/content/pageRunner.ts +++ b/src/content/pageRunner.ts @@ -1,4 +1,4 @@ -import { processFields, type DomScrapeResult } from '@/background/domScraper'; +import { processFields} from '@/background/domScraper'; import type { CrawlPauseInfo, PlatformFieldConfig } from '@/types'; interface ScrapeStepMessage { @@ -17,7 +17,7 @@ type PageRunnerMessage = ScrapeStepMessage | CheckInterruptMessage; interface PageRunnerResponse { ok: boolean; - data?: DomScrapeResult | null; + data?: any | null; interrupt?: CrawlPauseInfo; error?: string; }