UNPKG

puppeteer-extends

Version:

Modern, factory-based management for Puppeteer with multiple browser instances and enhanced navigation

48 lines (47 loc) 1.62 kB
/** * @since 1.7.0 */ import { Page, Browser } from "puppeteer"; import { PuppeteerPlugin, PluginContext } from "../plugin-interface"; import { SessionManager, SessionOptions } from "../../session/session-manager"; export interface SessionPluginOptions extends SessionOptions { /** * Whether to extract session data after navigation * @default true */ extractAfterNavigation?: boolean; /** * Whether to apply session data before navigation * @default true */ applyBeforeNavigation?: boolean; } /** * SessionPlugin provides session persistence functionality */ export declare class SessionPlugin implements PuppeteerPlugin { name: string; version: string; private options; private sessionManager; constructor(options?: SessionPluginOptions); initialize: (options?: Record<string, any>) => Promise<void>; onPageCreated: (page: Page, context: PluginContext) => Promise<void>; onBeforeNavigation: (page: Page, url: string, options: any, context: PluginContext) => Promise<void>; onAfterNavigation: (page: Page, url: string, success: boolean, context: PluginContext) => Promise<void>; onBeforePageClose: (page: Page, context: PluginContext) => Promise<void>; onBeforeBrowserClose: (browser: Browser, context: PluginContext) => Promise<void>; cleanup: () => Promise<void>; /** * Get the session manager instance */ getSessionManager(): SessionManager; /** * Clear the current session data */ clearSession(): void; /** * Delete the session file */ deleteSession(): void; }