UNPKG

puppeteer-pro

Version:

A simple puppeteer wrapper to enable useful plugins with ease

42 lines 2.65 kB
import * as events from 'events'; import * as Puppeteer from 'puppeteer'; import type { Plugin } from './plugins'; 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>; withLoader<T>(fn: () => Promise<T>, loadingSelector: string, visibleWaitOptions?: Puppeteer.WaitForSelectorOptions, hiddenWaitOptions?: Puppeteer.WaitForSelectorOptions): Promise<T>; } 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>; } 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