106 lines
4.0 KiB
TypeScript
106 lines
4.0 KiB
TypeScript
import { BrowserLog } from '../browser-log';
|
|
import type { LogLevel } from '../log-level';
|
|
import type { HeadlessBrowser } from './Browser';
|
|
import type { CDPSession } from './Connection';
|
|
import { ConsoleMessage } from './ConsoleMessage';
|
|
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
import { EventEmitter } from './EventEmitter';
|
|
import type { Frame } from './FrameManager';
|
|
import type { HTTPResponse } from './HTTPResponse';
|
|
import type { JSHandle } from './JSHandle';
|
|
import type { Viewport } from './PuppeteerViewport';
|
|
import type { Target } from './Target';
|
|
import { TaskQueue } from './TaskQueue';
|
|
import type { SourceMapGetter } from './source-map-getter';
|
|
interface WaitForOptions {
|
|
timeout?: number;
|
|
}
|
|
export declare const enum PageEmittedEvents {
|
|
Error = "error",
|
|
Disposed = "disposed"
|
|
}
|
|
interface PageEventObject {
|
|
console: ConsoleMessage;
|
|
error: Error;
|
|
disposed: undefined;
|
|
}
|
|
export type OnLog = ({ logLevel, previewString, tag }: {
|
|
logLevel: LogLevel;
|
|
tag: string;
|
|
previewString: string;
|
|
}) => void;
|
|
export declare class Page extends EventEmitter {
|
|
#private;
|
|
id: string;
|
|
static _create({ client, target, defaultViewport, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog }: {
|
|
client: CDPSession;
|
|
target: Target;
|
|
defaultViewport: Viewport;
|
|
browser: HeadlessBrowser;
|
|
sourceMapGetter: SourceMapGetter;
|
|
logLevel: LogLevel;
|
|
indent: boolean;
|
|
pageIndex: number;
|
|
onBrowserLog: null | ((log: BrowserLog) => void);
|
|
onLog: OnLog;
|
|
}): Promise<Page>;
|
|
closed: boolean;
|
|
browser: HeadlessBrowser;
|
|
screenshotTaskQueue: TaskQueue;
|
|
sourceMapGetter: SourceMapGetter;
|
|
logLevel: LogLevel;
|
|
indent: boolean;
|
|
pageIndex: number;
|
|
onBrowserLog: null | ((log: BrowserLog) => void);
|
|
onLog: OnLog;
|
|
constructor({ client, target, browser, sourceMapGetter, logLevel, indent, pageIndex, onBrowserLog, onLog }: {
|
|
client: CDPSession;
|
|
target: Target;
|
|
browser: HeadlessBrowser;
|
|
sourceMapGetter: SourceMapGetter;
|
|
logLevel: LogLevel;
|
|
indent: boolean;
|
|
pageIndex: number;
|
|
onBrowserLog: null | ((log: BrowserLog) => void);
|
|
onLog: OnLog;
|
|
});
|
|
/**
|
|
* Listen to page events.
|
|
*/
|
|
on<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
|
|
once<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
|
|
off<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
|
|
/**
|
|
* @returns A target this page was created from.
|
|
*/
|
|
target(): Target;
|
|
_client(): CDPSession;
|
|
/**
|
|
* @returns The page's main frame.
|
|
* @remarks
|
|
* Page is guaranteed to have a main frame which persists during navigations.
|
|
*/
|
|
mainFrame(): Frame;
|
|
setViewport(viewport: Viewport): Promise<void>;
|
|
setDefaultNavigationTimeout(timeout: number): void;
|
|
setDefaultTimeout(timeout: number): void;
|
|
evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
|
|
url(): string;
|
|
goto({ url, timeout, options }: {
|
|
url: string;
|
|
timeout: number;
|
|
options?: WaitForOptions & {
|
|
referer?: string;
|
|
};
|
|
}): Promise<HTTPResponse | null>;
|
|
bringToFront(): Promise<void>;
|
|
setAutoDarkModeOverride(): Promise<void>;
|
|
evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
|
|
evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void>;
|
|
close(options?: {
|
|
runBeforeUnload?: boolean;
|
|
}): Promise<void>;
|
|
setBrowserSourceMapGetter(context: SourceMapGetter): void;
|
|
}
|
|
export {};
|