UNPKG

puppeteer-pro

Version:

A simple puppeteer wrapper to enable useful plugins with ease

69 lines 3.69 kB
import * as events from 'events'; import * as Puppeteer from 'puppeteer'; export declare function connect(options?: Puppeteer.ConnectOptions): Promise<Browser>; export declare function launch(options?: Puppeteer.LaunchOptions & Puppeteer.ConnectOptions): Promise<Browser>; export interface Browser extends Puppeteer.Browser, Pluginable { createBrowserContext(options?: Puppeteer.BrowserContextOptions): Promise<BrowserContext>; newPage(): Promise<Page>; } export interface BrowserContext extends Puppeteer.BrowserContext, Pluginable { newPage(): Promise<Page>; } export interface Page extends Puppeteer.Page { waitAndClick(selector: string, waitOptions?: Puppeteer.WaitForSelectorOptions, clickOptions?: Readonly<Puppeteer.ClickOptions>): Promise<void>; waitAndType(selector: string, text: string, waitOptions?: Puppeteer.WaitForSelectorOptions, typeOptions?: Readonly<Puppeteer.KeyboardTypeOptions>): Promise<void>; } export declare class Plugin { protected browser: Browser | BrowserContext | null; private initialized; private startCounter; protected dependencies: Plugin[]; protected requiresInterception: boolean; get isInitialized(): boolean; get isStopped(): boolean; addDependency(plugin: Plugin): Promise<void>; init(browser: Browser | BrowserContext): Promise<void>; protected afterLaunch(_browser: Browser | BrowserContext): Promise<void>; protected onClose(): Promise<void>; protected onTargetCreated(target: Puppeteer.Target): Promise<void>; protected onPageCreated(_page: Page): Promise<void>; protected onRequest(request: Puppeteer.HTTPRequest): Promise<void>; protected processRequest(_request: Puppeteer.HTTPRequest): Promise<void>; protected onDialog(dialog: Dialog): Promise<void>; protected processDialog(_dialog: Dialog): Promise<void>; protected beforeRestart(): Promise<void>; restart(): Promise<void>; protected afterRestart(): Promise<void>; protected beforeStop(): Promise<void>; stop(): Promise<void>; protected afterStop(): Promise<void>; protected getFirstPage(): Promise<Puppeteer.Page | null>; } interface Pluginable { plugins: Plugin[]; browserEvents: events.EventEmitter; interceptions: number; addPlugin: (plugin: Plugin) => Promise<void>; clearPlugins: () => void; anonymizeUserAgent: () => Promise<AnonymizeUserAgentPlugin>; avoidDetection: (options?: FingerprintGeneratorOptions) => Promise<AvoidDetectionPlugin>; blockResources: (...resources: Resource[]) => Promise<BlockResourcesPlugin>; disableDialogs: (logMessages?: boolean) => Promise<DisableDialogsPlugin>; manageCookies: (opts: ManageCookiesOption) => Promise<ManageCookiesPlugin>; manageLocalStorage: (opts: ManageLocalStorageOption) => Promise<ManageLocalStoragePlugin>; solveRecaptchas: (accessToken: string) => Promise<SolveRecaptchasPlugin>; } interface Dialog extends Puppeteer.Dialog { handled: boolean; } import { AnonymizeUserAgentPlugin } from './plugins/anonymize.user.agent'; import { AvoidDetectionPlugin } from './plugins/avoid.detection'; import { BlockResourcesPlugin, Resource } from './plugins/block.resources'; import { DisableDialogsPlugin } from './plugins/disable.dialogs'; import { ManageCookiesOption, ManageCookiesPlugin } from './plugins/manage.cookies'; import { ManageLocalStorageOption, ManageLocalStoragePlugin } from './plugins/manage.localstorage'; import { SolveRecaptchasPlugin } from './plugins/solve.recaptchas'; import type { newInjectedPage } from 'fingerprint-injector'; type FingerprintGeneratorOptions = Parameters<typeof newInjectedPage>[1]; export {}; //# sourceMappingURL=index.d.ts.map