UNPKG

puppeteer-core

Version:

A high-level API to control headless Chrome over the DevTools Protocol

130 lines 6.51 kB
/** * @license * Copyright 2022 Google Inc. * SPDX-License-Identifier: Apache-2.0 */ import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js'; import type Protocol from 'devtools-protocol'; import type { CDPSession } from '../api/CDPSession.js'; import type { WaitForOptions } from '../api/Frame.js'; import type { HTTPResponse } from '../api/HTTPResponse.js'; import type { Credentials, GeolocationOptions, MediaFeature, PageEvents } from '../api/Page.js'; import { Page, type NewDocumentScriptEvaluation, type ScreenshotOptions } from '../api/Page.js'; import { Coverage } from '../cdp/Coverage.js'; import type { NetworkConditions } from '../cdp/NetworkManager.js'; import { Tracing } from '../cdp/Tracing.js'; import type { CookiePartitionKey, Cookie, CookieParam, CookieSameSite, DeleteCookiesRequest } from '../common/Cookie.js'; import { EventEmitter } from '../common/EventEmitter.js'; import type { PDFOptions } from '../common/PDFOptions.js'; import type { Awaitable } from '../common/types.js'; import type { Viewport } from '../common/Viewport.js'; import type { BidiBrowser } from './Browser.js'; import type { BidiBrowserContext } from './BrowserContext.js'; import type { BidiCdpSession } from './CDPSession.js'; import type { BrowsingContext } from './core/BrowsingContext.js'; import { BidiFrame } from './Frame.js'; import type { BidiHTTPResponse } from './HTTPResponse.js'; import { BidiKeyboard, BidiMouse, BidiTouchscreen } from './Input.js'; import type { BidiJSHandle } from './JSHandle.js'; import type { BidiWebWorker } from './WebWorker.js'; /** * Implements Page using WebDriver BiDi. * * @internal */ export declare class BidiPage extends Page { #private; static from(browserContext: BidiBrowserContext, browsingContext: BrowsingContext): BidiPage; accessor trustedEmitter: EventEmitter<PageEvents>; readonly keyboard: BidiKeyboard; readonly mouse: BidiMouse; readonly touchscreen: BidiTouchscreen; readonly tracing: Tracing; readonly coverage: Coverage; _client(): BidiCdpSession; private constructor(); /** * @internal */ _userAgentHeaders: Record<string, string>; setUserAgent(userAgent: string, userAgentMetadata?: Protocol.Emulation.UserAgentMetadata): Promise<void>; setBypassCSP(enabled: boolean): Promise<void>; queryObjects<Prototype>(prototypeHandle: BidiJSHandle<Prototype>): Promise<BidiJSHandle<Prototype[]>>; browser(): BidiBrowser; browserContext(): BidiBrowserContext; mainFrame(): BidiFrame; focusedFrame(): Promise<BidiFrame>; frames(): BidiFrame[]; isClosed(): boolean; close(options?: { runBeforeUnload?: boolean; }): Promise<void>; reload(options?: WaitForOptions): Promise<BidiHTTPResponse | null>; setDefaultNavigationTimeout(timeout: number): void; setDefaultTimeout(timeout: number): void; getDefaultTimeout(): number; getDefaultNavigationTimeout(): number; isJavaScriptEnabled(): boolean; setGeolocation(options: GeolocationOptions): Promise<void>; setJavaScriptEnabled(enabled: boolean): Promise<void>; emulateMediaType(type?: string): Promise<void>; emulateCPUThrottling(factor: number | null): Promise<void>; emulateMediaFeatures(features?: MediaFeature[]): Promise<void>; emulateTimezone(timezoneId?: string): Promise<void>; emulateIdleState(overrides?: { isUserActive: boolean; isScreenUnlocked: boolean; }): Promise<void>; emulateVisionDeficiency(type?: Protocol.Emulation.SetEmulatedVisionDeficiencyRequest['type']): Promise<void>; setViewport(viewport: Viewport | null): Promise<void>; viewport(): Viewport | null; pdf(options?: PDFOptions): Promise<Uint8Array>; createPDFStream(options?: PDFOptions | undefined): Promise<ReadableStream<Uint8Array>>; _screenshot(options: Readonly<ScreenshotOptions>): Promise<string>; createCDPSession(): Promise<CDPSession>; bringToFront(): Promise<void>; evaluateOnNewDocument<Params extends unknown[], Func extends (...args: Params) => unknown = (...args: Params) => unknown>(pageFunction: Func | string, ...args: Params): Promise<NewDocumentScriptEvaluation>; removeScriptToEvaluateOnNewDocument(id: string): Promise<void>; exposeFunction<Args extends unknown[], Ret>(name: string, pptrFunction: ((...args: Args) => Awaitable<Ret>) | { default: (...args: Args) => Awaitable<Ret>; }): Promise<void>; isDragInterceptionEnabled(): boolean; setCacheEnabled(enabled?: boolean): Promise<void>; cookies(...urls: string[]): Promise<Cookie[]>; isServiceWorkerBypassed(): never; target(): never; waitForFileChooser(): never; workers(): BidiWebWorker[]; setRequestInterception(enable: boolean): Promise<void>; /** * @internal */ _extraHTTPHeaders: Record<string, string>; setExtraHTTPHeaders(headers: Record<string, string>): Promise<void>; /** * @internal */ _credentials: Credentials | null; authenticate(credentials: Credentials | null): Promise<void>; setDragInterception(): never; setBypassServiceWorker(): never; setOfflineMode(enabled: boolean): Promise<void>; emulateNetworkConditions(networkConditions: NetworkConditions | null): Promise<void>; setCookie(...cookies: CookieParam[]): Promise<void>; deleteCookie(...cookies: DeleteCookiesRequest[]): Promise<void>; removeExposedFunction(name: string): Promise<void>; metrics(): never; goBack(options?: WaitForOptions): Promise<HTTPResponse | null>; goForward(options?: WaitForOptions): Promise<HTTPResponse | null>; waitForDevicePrompt(): never; } export declare function bidiToPuppeteerCookie(bidiCookie: Bidi.Network.Cookie, returnCompositePartitionKey?: boolean): Cookie; /** * Gets CDP-specific properties from the cookie, adds CDP-specific prefixes and returns * them as a new object which can be used in BiDi. */ export declare function cdpSpecificCookiePropertiesFromPuppeteerToBidi(cookieParam: CookieParam, ...propertyNames: Array<keyof CookieParam>): Record<string, unknown>; export declare function convertCookiesSameSiteCdpToBiDi(sameSite: CookieSameSite | undefined): Bidi.Network.SameSite; export declare function convertCookiesExpiryCdpToBiDi(expiry: number | undefined): number | undefined; export declare function convertCookiesPartitionKeyFromPuppeteerToBiDi(partitionKey: CookiePartitionKey | string | undefined): string | undefined; //# sourceMappingURL=Page.d.ts.map