puppeteer-pro
Version:
A simple puppeteer wrapper to enable useful plugins with ease
42 lines • 2.65 kB
TypeScript
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