1+ import path from 'node:path' ;
12import { Browser , Page } from 'puppeteer-core' ;
23import { LocalBrowser , RemoteBrowser } from '@agent-infra/browser' ;
34import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer' ;
@@ -185,7 +186,7 @@ export async function ensureBrowser() {
185186 }
186187
187188 if ( ! store . initialBrowserSetDownloadBehavior ) {
188- const client = await store . globalPage . createCDPSession ( ) ;
189+ const client = await store . globalBrowser . target ( ) . createCDPSession ( ) ;
189190 const { outputDir } = store . globalConfig ;
190191 await client . send ( 'Browser.setDownloadBehavior' , {
191192 behavior : 'allow' ,
@@ -201,7 +202,7 @@ export async function ensureBrowser() {
201202 guid : event . guid ,
202203 url : event . url ,
203204 suggestedFilename : event . suggestedFilename ,
204- resourceUri : `download:// ${ event . suggestedFilename } ` ,
205+ resourceUri : path . join ( outputDir ! , event . suggestedFilename ) ,
205206 createdAt : new Date ( ) . toISOString ( ) ,
206207 progress : 0 ,
207208 state : 'inProgress' ,
@@ -230,6 +231,14 @@ export async function ensureBrowser() {
230231 `状态: ${ event . state } , 已下载: ${ event . receivedBytes } /${ event . totalBytes } ` ,
231232 ) ;
232233
234+ if ( event . state === 'completed' ) {
235+ // @ts -ignore
236+ if ( event . filePath ) {
237+ // @ts -ignore
238+ downloadInfo . resourceUri = event . filePath ;
239+ }
240+ }
241+
233242 // canceled from browser
234243 if ( event . state === 'canceled' ) {
235244 store . downloadedFiles . splice ( idx , 1 ) ;
0 commit comments