Skip to content

Upgrading puppeteer 13 to 14

Unknown13.7.0 → 14.4.1

Fetching 9 releases from GitHub…0 / 9
UnknownUpgrade verdict

DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
Still reading release notes

DepDelta is still reading the release notes in this range. This updates as they come in.

Node.js requirement changed in 14.0.0: >=10.18.1 → >=14.1.0.

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • added: var __PUPPETEER_DEBUG: string
  • changed: method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode> → method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>
  • removed: const ariaHandler: InternalQueryHandler
  • added: const _ariaHandler: InternalQueryHandler
  • removed: property Browser._targets: Map<string, Target>
  • removed: static method Browser.create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback): Promise<Browser>
  • changed: constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback) → constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback)
  • added: get Browser._targets(): Map<string, Target>
  • added: method Browser._getIsPageTargetCallback(): IsPageTargetCallback | undefined
  • added: static method Browser._create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback): Promise<Browser>
  • added: type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean
  • removed: const connectToBrowser: (options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }) => Promise<Browser>
  • added: function _connectToBrowser(options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }): Promise<Browser>
  • added: property BrowserConnectOptions._isPageTarget?: IsPageTargetCallback
  • removed: method Connection._onClose(): void
  • removed: method Connection._onMessage(message: string): Promise<void>
  • removed: property CDPSession._connection?: Connection
  • removed: property Connection._callbacks: Map<number, ConnectionCallback>
  • removed: property Connection._closed: boolean
  • removed: property Connection._delay: number
  • removed: property Connection._lastId: number
  • removed: property Connection._sessions: Map<string, CDPSession>
  • removed: property Connection._transport: ConnectionTransport
  • removed: property Connection._url: string
  • added: get Connection._closed(): boolean
  • removed: method CSSCoverage._onExecutionContextsCleared(): void
  • removed: method CSSCoverage._onStyleSheet(event: Protocol.CSS.StyleSheetAddedEvent): Promise<void>
  • removed: method JSCoverage._onExecutionContextsCleared(): void
  • removed: method JSCoverage._onScriptParsed(event: Protocol.Debugger.ScriptParsedEvent): Promise<void>
  • removed: property CSSCoverage._client: CDPSession
  • removed: property CSSCoverage._enabled: boolean
  • removed: property CSSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property CSSCoverage._reportAnonymousScripts: boolean
  • removed: property CSSCoverage._resetOnNavigation: boolean
  • removed: property CSSCoverage._stylesheetSources: Map<string, string>
  • removed: property CSSCoverage._stylesheetURLs: Map<string, string>
  • removed: property Coverage._cssCoverage: CSSCoverage
  • removed: property Coverage._jsCoverage: JSCoverage
  • removed: property JSCoverage._client: CDPSession
  • removed: property JSCoverage._enabled: boolean
  • removed: property JSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property JSCoverage._includeRawScriptCoverage: boolean
  • removed: property JSCoverage._reportAnonymousScripts: boolean
  • removed: property JSCoverage._resetOnNavigation: boolean
  • removed: property JSCoverage._scriptSources: Map<string, string>
  • removed: property JSCoverage._scriptURLs: Map<string, string>
  • removed: method DOMWorld.addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • removed: method DOMWorld.waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • removed: method WaitTask._cleanup(): void
  • removed: property DOMWorld._boundFunctions: Map<string, Function>
  • removed: property DOMWorld._waitTasks: Set<WaitTask>
  • removed: property WaitTask._args: SerializableOrJSHandle[]
  • removed: property WaitTask._binding: PageBinding
  • removed: property WaitTask._domWorld: DOMWorld
  • removed: property WaitTask._polling: string | number
  • removed: property WaitTask._predicateAcceptsContextElement: boolean
  • removed: property WaitTask._predicateBody: string
  • removed: property WaitTask._reject: (x: Error) => void
  • removed: property WaitTask._resolve: (x: JSHandle) => void
  • removed: property WaitTask._root: ElementHandle
  • removed: property WaitTask._runCount: number
  • removed: property WaitTask._terminated: boolean
  • removed: property WaitTask._timeout: number
  • removed: property WaitTask._timeoutTimer?: NodeJS.Timeout
  • changed: method DOMWorld._setContext(context?: ExecutionContext): Promise<void> → method DOMWorld._setContext(context: ExecutionContext | null): Promise<void>
  • added: get DOMWorld._boundFunctions(): Map<string, Function>
  • added: get DOMWorld._waitTasks(): Set<WaitTask>
  • added: method DOMWorld._addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • added: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • added: declare global
  • removed: const devicesMap: DevicesMap
  • added: const _devicesMap: DevicesMap
  • removed: property EmulationManager._client: CDPSession
  • removed: property EmulationManager._emulatingMobile: boolean
  • removed: property EmulationManager._hasTouch: boolean
  • removed: type PuppeteerErrors = Record<string, typeof CustomError>
  • added: interface PuppeteerErrors
  • added: property PuppeteerErrors.ProtocolError: typeof ProtocolError
  • added: property PuppeteerErrors.TimeoutError: typeof TimeoutError
  • changed: type EvaluateFn<T = any> = string | ((arg1: T, ...args: any[]) => any) → type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • changed: type Serializable = number | string | boolean | null | BigInt | JSONArray | JSONObject → type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • changed: const EVALUATION_SCRIPT_URL = '__puppeteer_evaluation_script__' → const EVALUATION_SCRIPT_URL = 'pptr://__puppeteer_evaluation_script__'
  • changed: constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world: DOMWorld) → constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world?: DOMWorld)
  • changed: method ExecutionContext._adoptBackendNodeId(backendNodeId: Protocol.DOM.BackendNodeId): Promise<ElementHandle> → method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>
  • changed: property ExecutionContext._world: DOMWorld → property ExecutionContext._world?: DOMWorld
  • removed: method Frame.client(): CDPSession
  • removed: method FrameManager._handleFrameTree(session: CDPSession, frameTree: Protocol.Page.FrameTree): void
  • removed: method FrameManager._onExecutionContextCreated(contextPayload: Protocol.Runtime.ExecutionContextDescription, session: CDPSession): void
  • removed: method FrameManager._onFrameAttached(session: CDPSession, frameId: string, parentFrameId?: string): void
  • removed: method FrameManager._onFrameDetached(frameId: string, reason: Protocol.Page.FrameDetachedEventReason): void
  • removed: method FrameManager._onFrameNavigated(framePayload: Protocol.Page.Frame): void
  • removed: method FrameManager._onFrameNavigatedWithinDocument(frameId: string, url: string): void
  • removed: method FrameManager._onFrameStoppedLoading(frameId: string): void
  • removed: method FrameManager._onLifecycleEvent(event: Protocol.Page.LifecycleEventEvent): void
  • removed: property Frame._client: CDPSession
  • removed: property FrameManager._client: CDPSession
  • removed: property FrameManager._timeoutSettings: TimeoutSettings
  • added: get FrameManager._client(): CDPSession
  • added: get FrameManager._timeoutSettings(): TimeoutSettings
  • added: method Frame._client(): CDPSession
  • added: method Frame._onLoadingStarted(): void
  • added: property Frame._hasStartedLoading: boolean
  • changed: constructor HTTPRequest(client: CDPSession, frame: Frame, interceptionId: string, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[]) → constructor HTTPRequest(client: CDPSession, frame: Frame | null, interceptionId: string | undefined, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[])
  • changed: method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason → method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason | null
  • changed: method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> → method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> | null
  • changed: property HTTPRequest._failureText: any → property HTTPRequest._failureText: string | null
  • changed: property HTTPRequest._interceptionId: string → property HTTPRequest._interceptionId: string | undefined
  • removed: method HTTPResponse._parseStatusTextFromExtrInfo(extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): string | undefined
  • changed: property RemoteAddress.ip: string → property RemoteAddress.ip?: string
  • changed: property RemoteAddress.port: number → property RemoteAddress.port?: number
  • removed: function createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • removed: property BoundingBox.x: number
  • removed: property BoundingBox.y: number
  • removed: property JSHandle._client: CDPSession
  • removed: property JSHandle._context: ExecutionContext
  • removed: property JSHandle._disposed: boolean
  • removed: property JSHandle._remoteObject: Protocol.Runtime.RemoteObject
  • changed: interface BoundingBox → interface BoundingBox extends Point
  • changed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • changed: property BoxModel.border: Array<{ x: number; y: number }> → property BoxModel.border: Point[]
  • changed: property BoxModel.content: Array<{ x: number; y: number }> → property BoxModel.content: Point[]
  • changed: property BoxModel.margin: Array<{ x: number; y: number }> → property BoxModel.margin: Point[]
  • changed: property BoxModel.padding: Array<{ x: number; y: number }> → property BoxModel.padding: Point[]
  • added: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • added: get JSHandle._client(): CDPSession
  • added: get JSHandle._context(): ExecutionContext
  • added: get JSHandle._disposed(): boolean
  • added: get JSHandle._remoteObject(): Protocol.Runtime.RemoteObject
  • added: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • removed: method LifecycleWatcher._checkLifecycleComplete(): void
  • removed: method LifecycleWatcher._createTimeoutPromise(): Promise<TimeoutError | null>
  • removed: method LifecycleWatcher._frameSwapped(frame: Frame): void
  • removed: method LifecycleWatcher._navigatedWithinDocument(frame: Frame): void
  • removed: method LifecycleWatcher._onFrameDetached(frame: Frame): void
  • removed: method LifecycleWatcher._onRequest(request: HTTPRequest): void
  • removed: method LifecycleWatcher._terminate(error: Error): void
  • removed: property LifecycleWatcher._eventListeners: PuppeteerEventListener[]
  • removed: property LifecycleWatcher._expectedLifecycle: ProtocolLifeCycleEvent[]
  • removed: property LifecycleWatcher._frame: Frame
  • removed: property LifecycleWatcher._frameManager: FrameManager
  • removed: property LifecycleWatcher._hasSameDocumentNavigation?: boolean
  • removed: property LifecycleWatcher._initialLoaderId: string
  • removed: property LifecycleWatcher._lifecycleCallback: () => void
  • removed: property LifecycleWatcher._lifecyclePromise: Promise<void>
  • removed: property LifecycleWatcher._maximumTimer?: NodeJS.Timeout
  • removed: property LifecycleWatcher._navigationRequest?: HTTPRequest
  • removed: property LifecycleWatcher._newDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._newDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._sameDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._sameDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._swapped?: boolean
  • removed: property LifecycleWatcher._terminationCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._terminationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._timeout: number
  • removed: property LifecycleWatcher._timeoutPromise: Promise<TimeoutError | null>
  • changed: method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | null> → method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | undefined>
  • removed: method NetworkManager._cacheDisabled(): boolean
  • removed: method NetworkManager._emitLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._emitLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._emitResponseEvent(responseReceived: Protocol.Network.ResponseReceivedEvent, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): void
  • removed: method NetworkManager._forgetRequest(request: HTTPRequest, events: boolean): void
  • removed: method NetworkManager._handleRequestRedirect(request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._onAuthRequired(event: Protocol.Fetch.AuthRequiredEvent): void
  • removed: method NetworkManager._onLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._onLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._onRequest(event: Protocol.Network.RequestWillBeSentEvent, fetchRequestId?: FetchRequestId): void
  • removed: method NetworkManager._onRequestPaused(event: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._onRequestServedFromCache(event: Protocol.Network.RequestServedFromCacheEvent): void
  • removed: method NetworkManager._onRequestWillBeSent(event: Protocol.Network.RequestWillBeSentEvent): void
  • removed: method NetworkManager._onResponseReceived(event: Protocol.Network.ResponseReceivedEvent): void
  • removed: method NetworkManager._onResponseReceivedExtraInfo(event: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._patchRequestEventHeaders(requestWillBeSentEvent: Protocol.Network.RequestWillBeSentEvent, requestPausedEvent: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._updateNetworkConditions(): Promise<void>
  • removed: method NetworkManager._updateProtocolCacheDisabled(): Promise<void>
  • removed: method NetworkManager._updateProtocolRequestInterception(): Promise<void>
  • removed: property NetworkManager._attemptedAuthentications: Set<string>
  • removed: property NetworkManager._client: CDPSession
  • removed: property NetworkManager._credentials?: Credentials
  • removed: property NetworkManager._emulatedNetworkConditions: InternalNetworkConditions
  • removed: property NetworkManager._extraHTTPHeaders: Record<string, string>
  • removed: property NetworkManager._frameManager: FrameManager
  • removed: property NetworkManager._ignoreHTTPSErrors: boolean
  • removed: property NetworkManager._networkEventManager: NetworkEventManager
  • removed: property NetworkManager._protocolRequestInterceptionEnabled: boolean
  • removed: property NetworkManager._userCacheDisabled: boolean
  • removed: property NetworkManager._userRequestInterceptionEnabled: boolean
  • removed: const paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • added: const _paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • added: type LowerCasePaperFormat = 'letter' | 'legal' | 'tabloid' | 'ledger' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6'
  • removed: method Page.client(): CDPSession
  • removed: static method Page.create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • changed: method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse> → method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse | null>
  • changed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • added: method Page._client(): CDPSession
  • added: static method Page._create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • removed: function clearCustomQueryHandlers(): void
  • removed: function customQueryHandlerNames(): string[]
  • removed: function getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • removed: function registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • removed: function unregisterCustomQueryHandler(name: string): void
  • changed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle> → property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>>
  • added: function _clearCustomQueryHandlers(): void
  • added: function _customQueryHandlerNames(): string[]
  • added: function _getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • added: function _registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • added: function _unregisterCustomQueryHandler(name: string): void
  • changed: constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue) → constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue, isPageTargetCallback: IsPageTargetCallback)
  • changed: method Target.opener(): Target | null → method Target.opener(): Target | undefined
  • added: method Target._getTargetInfo(): Protocol.Target.TargetInfo
  • added: property Target._isPageTargetCallback: IsPageTargetCallback
  • removed: property TimeoutSettings._defaultNavigationTimeout: number | null
  • removed: property TimeoutSettings._defaultTimeout: number | null
  • removed: property Tracing._client: CDPSession
  • removed: property Tracing._path: string
  • removed: property Tracing._recording: boolean
  • changed: method Tracing.stop(): Promise<Buffer> → method Tracing.stop(): Promise<Buffer | undefined>
  • removed: const keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • added: const _keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • removed: property WebWorker._client: CDPSession
  • removed: property WebWorker._executionContextCallback: (value: ExecutionContext) => void
  • removed: property WebWorker._executionContextPromise: Promise<ExecutionContext>
  • removed: property WebWorker._url: string
  • changed: type ConsoleAPICalledCallback = (eventType: string, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void → type ConsoleAPICalledCallback = (eventType: ConsoleMessageType, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void
  • changed: const assert: (value: unknown, message?: string) => void → const assert: (value: unknown, message?: string) => asserts value
  • changed: const assertNever: (value: never, message?: string) => void → const assertNever: (value: unknown, message?: string) => asserts value is never
  • removed: const debugError: (...args: unknown[]) => void
  • removed: const helper: { evaluationString: typeof evaluationString; pageBindingInitString: typeof pageBindingInitString; pageBindingDeliverResultString: typeof pageBindingDeliverResu…
  • removed: interface PuppeteerEventListener
  • removed: property PuppeteerEventListener.emitter: CommonEventEmitter
  • removed: property PuppeteerEventListener.eventName: string | symbol
  • removed: property PuppeteerEventListener.handler: (...args: any[]) => void
  • added: const debugError: (...args: unknown[]) => void
  • added: const isNumber: (obj: unknown) => obj is number
  • added: const isString: (obj: unknown) => obj is string
  • added: function addEventListener(emitter: CommonEventEmitter, eventName: string | symbol, handler: (...args: any[]) => void): PuppeteerEventListener
  • added: function evaluationString(fun: Function | string, ...args: unknown[]): string
  • added: function getExceptionMessage(exceptionDetails: Protocol.Runtime.ExceptionDetails): string
  • added: function getReadableAsBuffer(readable: Readable, path?: string): Promise<Buffer | null>
  • added: function getReadableFromProtocolStream(client: CDPSession, handle: string): Promise<Readable>
  • added: function isErrnoException(obj: unknown): obj is NodeJS.ErrnoException
  • added: function isErrorLike(obj: unknown): obj is ErrorLike
  • added: function makePredicateString(predicate: Function, predicateQueryHandler?: Function): string
  • added: function pageBindingDeliverErrorString(name: string, seq: number, message: string, stack?: string): string
  • added: function pageBindingDeliverErrorValueString(name: string, seq: number, value: unknown): string
  • added: function pageBindingDeliverResultString(name: string, seq: number, result: unknown): string
  • added: function pageBindingInitString(type: string, name: string): string
  • added: function releaseObject(client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject): Promise<void>
  • added: function removeEventListeners(listeners: Array<{ emitter: CommonEventEmitter; eventName: string | symbol; handler: (...args: any[]) => void }>): void
  • added: function valueFromRemoteObject(remoteObject: Protocol.Runtime.RemoteObject): any
  • added: function waitForEvent<T>(emitter: CommonEventEmitter, eventName: string | symbol, predicate: (event: T) => Promise<boolean> | boolean, timeout: number, abortPromise: Promise<Error>): Promise<T>
  • added: function waitWithTimeout<T>(promise: Promise<T>, taskName: string, timeout: number): Promise<T>
  • added: interface PuppeteerEventListener
  • added: property PuppeteerEventListener.emitter: CommonEventEmitter
  • added: property PuppeteerEventListener.eventName: string | symbol
  • added: property PuppeteerEventListener.handler: (...args: any[]) => void
  • added: let puppeteerDirname: string
  • added: const rootDirname: string
  • added: const packageVersion = '14.4.1'
  • removed: const initializePuppeteerNode: (packageName: string) => PuppeteerNode
  • removed: const initializePuppeteerWeb: (packageName: string) => Puppeteer
  • added: const initializePuppeteer: (packageName: string) => PuppeteerNode
  • removed: const _default: import('./api-docs-entry.js').PuppeteerNode
  • removed: default _default
  • removed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • removed: default puppeteer
  • removed: method BrowserFetcher._getFolderPath(revision: string): string
  • changed: method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo> → method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo | undefined>
  • changed: type Platform = 'linux' | 'mac' | 'win32' | 'win64' → type Platform = 'linux' | 'mac' | 'mac_arm' | 'win32' | 'win64'
  • changed: property BrowserRunner.connection: any → property BrowserRunner.connection?: Connection
  • changed: property BrowserRunner.proc: any → property BrowserRunner.proc?: childProcess.ChildProcess
  • changed: property NodeWebSocketTransport.onmessage?: (message: string) => void → property NodeWebSocketTransport.onmessage?: (message: NodeWebSocket.Data) => void
  • changed: static method NodeWebSocketTransport.create(url: string): Promise<NodeWebSocketTransport> → static method NodeWebSocketTransport.create(urlString: string): Promise<NodeWebSocketTransport>
  • removed: method PipeTransport._dispatch(buffer: Buffer): void
  • removed: property PipeTransport._eventListeners: PuppeteerEventListener[]
  • removed: property PipeTransport._pendingMessage: string
  • removed: property PipeTransport._pipeWrite: NodeJS.WritableStream
  • changed: property PipeTransport.onmessage?: () => void → property PipeTransport.onmessage?: (value: string) => void
  • changed: method PuppeteerNode.launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser> → method PuppeteerNode.launch(options?: PuppeteerLaunchOptions): Promise<Browser>
  • added: interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions
  • added: property PuppeteerLaunchOptions.extraPrefsFirefox?: Record<string, unknown>
  • added: property PuppeteerLaunchOptions.product?: Product
  • added: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • added: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • added: default puppeteer
  • added: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • added: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • added: default puppeteer
  • removed: const _default: import('./api-docs-entry.js').Puppeteer
  • removed: default _default
  • changed: method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode> → method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>
  • removed: const ariaHandler: InternalQueryHandler
  • added: const _ariaHandler: InternalQueryHandler
  • removed: property Browser._targets: Map<string, Target>
  • removed: static method Browser.create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback): Promise<Browser>
  • changed: constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback) → constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback)
  • added: get Browser._targets(): Map<string, Target>
  • added: method Browser._getIsPageTargetCallback(): IsPageTargetCallback | undefined
  • added: static method Browser._create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback): Promise<Browser>
  • added: type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean
  • removed: const connectToBrowser: (options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }) => Promise<Browser>
  • added: function _connectToBrowser(options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }): Promise<Browser>
  • added: property BrowserConnectOptions._isPageTarget?: IsPageTargetCallback
  • removed: method Connection._onClose(): void
  • removed: method Connection._onMessage(message: string): Promise<void>
  • removed: property CDPSession._connection?: Connection
  • removed: property Connection._callbacks: Map<number, ConnectionCallback>
  • removed: property Connection._closed: boolean
  • removed: property Connection._delay: number
  • removed: property Connection._lastId: number
  • removed: property Connection._sessions: Map<string, CDPSession>
  • removed: property Connection._transport: ConnectionTransport
  • removed: property Connection._url: string
  • added: get Connection._closed(): boolean
  • removed: method CSSCoverage._onExecutionContextsCleared(): void
  • removed: method CSSCoverage._onStyleSheet(event: Protocol.CSS.StyleSheetAddedEvent): Promise<void>
  • removed: method JSCoverage._onExecutionContextsCleared(): void
  • removed: method JSCoverage._onScriptParsed(event: Protocol.Debugger.ScriptParsedEvent): Promise<void>
  • removed: property CSSCoverage._client: CDPSession
  • removed: property CSSCoverage._enabled: boolean
  • removed: property CSSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property CSSCoverage._reportAnonymousScripts: boolean
  • removed: property CSSCoverage._resetOnNavigation: boolean
  • removed: property CSSCoverage._stylesheetSources: Map<string, string>
  • removed: property CSSCoverage._stylesheetURLs: Map<string, string>
  • removed: property Coverage._cssCoverage: CSSCoverage
  • removed: property Coverage._jsCoverage: JSCoverage
  • removed: property JSCoverage._client: CDPSession
  • removed: property JSCoverage._enabled: boolean
  • removed: property JSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property JSCoverage._includeRawScriptCoverage: boolean
  • removed: property JSCoverage._reportAnonymousScripts: boolean
  • removed: property JSCoverage._resetOnNavigation: boolean
  • removed: property JSCoverage._scriptSources: Map<string, string>
  • removed: property JSCoverage._scriptURLs: Map<string, string>
  • removed: method DOMWorld.addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • removed: method DOMWorld.waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • removed: method WaitTask._cleanup(): void
  • removed: property DOMWorld._boundFunctions: Map<string, Function>
  • removed: property DOMWorld._waitTasks: Set<WaitTask>
  • removed: property WaitTask._args: SerializableOrJSHandle[]
  • removed: property WaitTask._binding: PageBinding
  • removed: property WaitTask._domWorld: DOMWorld
  • removed: property WaitTask._polling: string | number
  • removed: property WaitTask._predicateAcceptsContextElement: boolean
  • removed: property WaitTask._predicateBody: string
  • removed: property WaitTask._reject: (x: Error) => void
  • removed: property WaitTask._resolve: (x: JSHandle) => void
  • removed: property WaitTask._root: ElementHandle
  • removed: property WaitTask._runCount: number
  • removed: property WaitTask._terminated: boolean
  • removed: property WaitTask._timeout: number
  • removed: property WaitTask._timeoutTimer?: NodeJS.Timeout
  • changed: method DOMWorld._setContext(context?: ExecutionContext): Promise<void> → method DOMWorld._setContext(context: ExecutionContext | null): Promise<void>
  • added: get DOMWorld._boundFunctions(): Map<string, Function>
  • added: get DOMWorld._waitTasks(): Set<WaitTask>
  • added: method DOMWorld._addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • added: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • added: declare global
  • removed: const devicesMap: DevicesMap
  • added: const _devicesMap: DevicesMap
  • removed: property EmulationManager._client: CDPSession
  • removed: property EmulationManager._emulatingMobile: boolean
  • removed: property EmulationManager._hasTouch: boolean
  • removed: type PuppeteerErrors = Record<string, typeof CustomError>
  • added: interface PuppeteerErrors
  • added: property PuppeteerErrors.ProtocolError: typeof ProtocolError
  • added: property PuppeteerErrors.TimeoutError: typeof TimeoutError
  • changed: type EvaluateFn<T = any> = string | ((arg1: T, ...args: any[]) => any) → type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • changed: type Serializable = number | string | boolean | null | BigInt | JSONArray | JSONObject → type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • changed: const EVALUATION_SCRIPT_URL = '__puppeteer_evaluation_script__' → const EVALUATION_SCRIPT_URL = 'pptr://__puppeteer_evaluation_script__'
  • changed: constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world: DOMWorld) → constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world?: DOMWorld)
  • changed: method ExecutionContext._adoptBackendNodeId(backendNodeId: Protocol.DOM.BackendNodeId): Promise<ElementHandle> → method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>
  • changed: property ExecutionContext._world: DOMWorld → property ExecutionContext._world?: DOMWorld
  • removed: method Frame.client(): CDPSession
  • removed: method FrameManager._handleFrameTree(session: CDPSession, frameTree: Protocol.Page.FrameTree): void
  • removed: method FrameManager._onExecutionContextCreated(contextPayload: Protocol.Runtime.ExecutionContextDescription, session: CDPSession): void
  • removed: method FrameManager._onFrameAttached(session: CDPSession, frameId: string, parentFrameId?: string): void
  • removed: method FrameManager._onFrameDetached(frameId: string, reason: Protocol.Page.FrameDetachedEventReason): void
  • removed: method FrameManager._onFrameNavigated(framePayload: Protocol.Page.Frame): void
  • removed: method FrameManager._onFrameNavigatedWithinDocument(frameId: string, url: string): void
  • removed: method FrameManager._onFrameStoppedLoading(frameId: string): void
  • removed: method FrameManager._onLifecycleEvent(event: Protocol.Page.LifecycleEventEvent): void
  • removed: property Frame._client: CDPSession
  • removed: property FrameManager._client: CDPSession
  • removed: property FrameManager._timeoutSettings: TimeoutSettings
  • added: get FrameManager._client(): CDPSession
  • added: get FrameManager._timeoutSettings(): TimeoutSettings
  • added: method Frame._client(): CDPSession
  • added: method Frame._onLoadingStarted(): void
  • added: property Frame._hasStartedLoading: boolean
  • changed: constructor HTTPRequest(client: CDPSession, frame: Frame, interceptionId: string, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[]) → constructor HTTPRequest(client: CDPSession, frame: Frame | null, interceptionId: string | undefined, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[])
  • changed: method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason → method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason | null
  • changed: method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> → method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> | null
  • changed: property HTTPRequest._failureText: any → property HTTPRequest._failureText: string | null
  • changed: property HTTPRequest._interceptionId: string → property HTTPRequest._interceptionId: string | undefined
  • removed: method HTTPResponse._parseStatusTextFromExtrInfo(extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): string | undefined
  • changed: property RemoteAddress.ip: string → property RemoteAddress.ip?: string
  • changed: property RemoteAddress.port: number → property RemoteAddress.port?: number
  • removed: function createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • removed: property BoundingBox.x: number
  • removed: property BoundingBox.y: number
  • removed: property JSHandle._client: CDPSession
  • removed: property JSHandle._context: ExecutionContext
  • removed: property JSHandle._disposed: boolean
  • removed: property JSHandle._remoteObject: Protocol.Runtime.RemoteObject
  • changed: interface BoundingBox → interface BoundingBox extends Point
  • changed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • changed: property BoxModel.border: Array<{ x: number; y: number }> → property BoxModel.border: Point[]
  • changed: property BoxModel.content: Array<{ x: number; y: number }> → property BoxModel.content: Point[]
  • changed: property BoxModel.margin: Array<{ x: number; y: number }> → property BoxModel.margin: Point[]
  • changed: property BoxModel.padding: Array<{ x: number; y: number }> → property BoxModel.padding: Point[]
  • added: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • added: get JSHandle._client(): CDPSession
  • added: get JSHandle._context(): ExecutionContext
  • added: get JSHandle._disposed(): boolean
  • added: get JSHandle._remoteObject(): Protocol.Runtime.RemoteObject
  • added: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • removed: method LifecycleWatcher._checkLifecycleComplete(): void
  • removed: method LifecycleWatcher._createTimeoutPromise(): Promise<TimeoutError | null>
  • removed: method LifecycleWatcher._frameSwapped(frame: Frame): void
  • removed: method LifecycleWatcher._navigatedWithinDocument(frame: Frame): void
  • removed: method LifecycleWatcher._onFrameDetached(frame: Frame): void
  • removed: method LifecycleWatcher._onRequest(request: HTTPRequest): void
  • removed: method LifecycleWatcher._terminate(error: Error): void
  • removed: property LifecycleWatcher._eventListeners: PuppeteerEventListener[]
  • removed: property LifecycleWatcher._expectedLifecycle: ProtocolLifeCycleEvent[]
  • removed: property LifecycleWatcher._frame: Frame
  • removed: property LifecycleWatcher._frameManager: FrameManager
  • removed: property LifecycleWatcher._hasSameDocumentNavigation?: boolean
  • removed: property LifecycleWatcher._initialLoaderId: string
  • removed: property LifecycleWatcher._lifecycleCallback: () => void
  • removed: property LifecycleWatcher._lifecyclePromise: Promise<void>
  • removed: property LifecycleWatcher._maximumTimer?: NodeJS.Timeout
  • removed: property LifecycleWatcher._navigationRequest?: HTTPRequest
  • removed: property LifecycleWatcher._newDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._newDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._sameDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._sameDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._swapped?: boolean
  • removed: property LifecycleWatcher._terminationCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._terminationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._timeout: number
  • removed: property LifecycleWatcher._timeoutPromise: Promise<TimeoutError | null>
  • changed: method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | null> → method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | undefined>
  • removed: method NetworkManager._cacheDisabled(): boolean
  • removed: method NetworkManager._emitLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._emitLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._emitResponseEvent(responseReceived: Protocol.Network.ResponseReceivedEvent, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): void
  • removed: method NetworkManager._forgetRequest(request: HTTPRequest, events: boolean): void
  • removed: method NetworkManager._handleRequestRedirect(request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._onAuthRequired(event: Protocol.Fetch.AuthRequiredEvent): void
  • removed: method NetworkManager._onLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._onLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._onRequest(event: Protocol.Network.RequestWillBeSentEvent, fetchRequestId?: FetchRequestId): void
  • removed: method NetworkManager._onRequestPaused(event: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._onRequestServedFromCache(event: Protocol.Network.RequestServedFromCacheEvent): void
  • removed: method NetworkManager._onRequestWillBeSent(event: Protocol.Network.RequestWillBeSentEvent): void
  • removed: method NetworkManager._onResponseReceived(event: Protocol.Network.ResponseReceivedEvent): void
  • removed: method NetworkManager._onResponseReceivedExtraInfo(event: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._patchRequestEventHeaders(requestWillBeSentEvent: Protocol.Network.RequestWillBeSentEvent, requestPausedEvent: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._updateNetworkConditions(): Promise<void>
  • removed: method NetworkManager._updateProtocolCacheDisabled(): Promise<void>
  • removed: method NetworkManager._updateProtocolRequestInterception(): Promise<void>
  • removed: property NetworkManager._attemptedAuthentications: Set<string>
  • removed: property NetworkManager._client: CDPSession
  • removed: property NetworkManager._credentials?: Credentials
  • removed: property NetworkManager._emulatedNetworkConditions: InternalNetworkConditions
  • removed: property NetworkManager._extraHTTPHeaders: Record<string, string>
  • removed: property NetworkManager._frameManager: FrameManager
  • removed: property NetworkManager._ignoreHTTPSErrors: boolean
  • removed: property NetworkManager._networkEventManager: NetworkEventManager
  • removed: property NetworkManager._protocolRequestInterceptionEnabled: boolean
  • removed: property NetworkManager._userCacheDisabled: boolean
  • removed: property NetworkManager._userRequestInterceptionEnabled: boolean
  • removed: const paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • added: const _paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • added: type LowerCasePaperFormat = 'letter' | 'legal' | 'tabloid' | 'ledger' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6'
  • removed: method Page.client(): CDPSession
  • removed: static method Page.create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • changed: method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse> → method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse | null>
  • changed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • added: method Page._client(): CDPSession
  • added: static method Page._create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • removed: function clearCustomQueryHandlers(): void
  • removed: function customQueryHandlerNames(): string[]
  • removed: function getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • removed: function registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • removed: function unregisterCustomQueryHandler(name: string): void
  • changed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle> → property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>>
  • added: function _clearCustomQueryHandlers(): void
  • added: function _customQueryHandlerNames(): string[]
  • added: function _getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • added: function _registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • added: function _unregisterCustomQueryHandler(name: string): void
  • changed: constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue) → constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue, isPageTargetCallback: IsPageTargetCallback)
  • changed: method Target.opener(): Target | null → method Target.opener(): Target | undefined
  • added: method Target._getTargetInfo(): Protocol.Target.TargetInfo
  • added: property Target._isPageTargetCallback: IsPageTargetCallback
  • removed: property TimeoutSettings._defaultNavigationTimeout: number | null
  • removed: property TimeoutSettings._defaultTimeout: number | null
  • removed: property Tracing._client: CDPSession
  • removed: property Tracing._path: string
  • removed: property Tracing._recording: boolean
  • changed: method Tracing.stop(): Promise<Buffer> → method Tracing.stop(): Promise<Buffer | undefined>
  • removed: const keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • added: const _keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • removed: property WebWorker._client: CDPSession
  • removed: property WebWorker._executionContextCallback: (value: ExecutionContext) => void
  • removed: property WebWorker._executionContextPromise: Promise<ExecutionContext>
  • removed: property WebWorker._url: string
  • changed: type ConsoleAPICalledCallback = (eventType: string, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void → type ConsoleAPICalledCallback = (eventType: ConsoleMessageType, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void
  • changed: const assert: (value: unknown, message?: string) => void → const assert: (value: unknown, message?: string) => asserts value
  • changed: const assertNever: (value: never, message?: string) => void → const assertNever: (value: unknown, message?: string) => asserts value is never
  • removed: const debugError: (...args: unknown[]) => void
  • removed: const helper: { evaluationString: typeof evaluationString; pageBindingInitString: typeof pageBindingInitString; pageBindingDeliverResultString: typeof pageBindingDeliverResu…
  • removed: interface PuppeteerEventListener
  • removed: property PuppeteerEventListener.emitter: CommonEventEmitter
  • removed: property PuppeteerEventListener.eventName: string | symbol
  • removed: property PuppeteerEventListener.handler: (...args: any[]) => void
  • added: const debugError: (...args: unknown[]) => void
  • added: const isNumber: (obj: unknown) => obj is number
  • added: const isString: (obj: unknown) => obj is string
  • added: function addEventListener(emitter: CommonEventEmitter, eventName: string | symbol, handler: (...args: any[]) => void): PuppeteerEventListener
  • added: function evaluationString(fun: Function | string, ...args: unknown[]): string
  • added: function getExceptionMessage(exceptionDetails: Protocol.Runtime.ExceptionDetails): string
  • added: function getReadableAsBuffer(readable: Readable, path?: string): Promise<Buffer | null>
  • added: function getReadableFromProtocolStream(client: CDPSession, handle: string): Promise<Readable>
  • added: function isErrnoException(obj: unknown): obj is NodeJS.ErrnoException
  • added: function isErrorLike(obj: unknown): obj is ErrorLike
  • added: function makePredicateString(predicate: Function, predicateQueryHandler?: Function): string
  • added: function pageBindingDeliverErrorString(name: string, seq: number, message: string, stack?: string): string
  • added: function pageBindingDeliverErrorValueString(name: string, seq: number, value: unknown): string
  • added: function pageBindingDeliverResultString(name: string, seq: number, result: unknown): string
  • added: function pageBindingInitString(type: string, name: string): string
  • added: function releaseObject(client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject): Promise<void>
  • added: function removeEventListeners(listeners: Array<{ emitter: CommonEventEmitter; eventName: string | symbol; handler: (...args: any[]) => void }>): void
  • added: function valueFromRemoteObject(remoteObject: Protocol.Runtime.RemoteObject): any
  • added: function waitForEvent<T>(emitter: CommonEventEmitter, eventName: string | symbol, predicate: (event: T) => Promise<boolean> | boolean, timeout: number, abortPromise: Promise<Error>): Promise<T>
  • added: function waitWithTimeout<T>(promise: Promise<T>, taskName: string, timeout: number): Promise<T>
  • added: interface PuppeteerEventListener
  • added: property PuppeteerEventListener.emitter: CommonEventEmitter
  • added: property PuppeteerEventListener.eventName: string | symbol
  • added: property PuppeteerEventListener.handler: (...args: any[]) => void
  • added: let puppeteerDirname: string
  • added: const rootDirname: string
  • added: const packageVersion = '14.4.1'
  • removed: const initializePuppeteerNode: (packageName: string) => PuppeteerNode
  • removed: const initializePuppeteerWeb: (packageName: string) => Puppeteer
  • added: const initializePuppeteer: (packageName: string) => PuppeteerNode
  • removed: const _default: import('./api-docs-entry.js').PuppeteerNode
  • removed: default _default
  • removed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • removed: default puppeteer
  • removed: method BrowserFetcher._getFolderPath(revision: string): string
  • changed: method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo> → method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo | undefined>
  • changed: type Platform = 'linux' | 'mac' | 'win32' | 'win64' → type Platform = 'linux' | 'mac' | 'mac_arm' | 'win32' | 'win64'
  • changed: property BrowserRunner.connection: any → property BrowserRunner.connection?: Connection
  • changed: property BrowserRunner.proc: any → property BrowserRunner.proc?: childProcess.ChildProcess
  • changed: property NodeWebSocketTransport.onmessage?: (message: string) => void → property NodeWebSocketTransport.onmessage?: (message: NodeWebSocket.Data) => void
  • changed: static method NodeWebSocketTransport.create(url: string): Promise<NodeWebSocketTransport> → static method NodeWebSocketTransport.create(urlString: string): Promise<NodeWebSocketTransport>
  • removed: method PipeTransport._dispatch(buffer: Buffer): void
  • removed: property PipeTransport._eventListeners: PuppeteerEventListener[]
  • removed: property PipeTransport._pendingMessage: string
  • removed: property PipeTransport._pipeWrite: NodeJS.WritableStream
  • changed: property PipeTransport.onmessage?: () => void → property PipeTransport.onmessage?: (value: string) => void
  • changed: method PuppeteerNode.launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser> → method PuppeteerNode.launch(options?: PuppeteerLaunchOptions): Promise<Browser>
  • added: interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions
  • added: property PuppeteerLaunchOptions.extraPrefsFirefox?: Record<string, unknown>
  • added: property PuppeteerLaunchOptions.product?: Product
  • added: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • added: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • added: default puppeteer
  • added: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • added: const puppeteer: import('./api-docs-entry.js').PuppeteerNode
  • added: default puppeteer
  • removed: const _default: import('./api-docs-entry.js').Puppeteer
  • removed: default _default
  • removed: const connectToBrowser: (options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }) => Promise<Browser>
  • removed: const devicesMap: DevicesMap
  • removed: const keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • removed: const paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • removed: function createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • removed: function getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • removed: method BrowserFetcher._getFolderPath(revision: string): string
  • removed: method CSSCoverage._onExecutionContextsCleared(): void
  • removed: method CSSCoverage._onStyleSheet(event: Protocol.CSS.StyleSheetAddedEvent): Promise<void>
  • removed: method Connection._onClose(): void
  • removed: method Connection._onMessage(message: string): Promise<void>
  • removed: method DOMWorld.addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • removed: method DOMWorld.waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • removed: method Frame.client(): CDPSession
  • removed: method FrameManager._handleFrameTree(session: CDPSession, frameTree: Protocol.Page.FrameTree): void
  • removed: method FrameManager._onExecutionContextCreated(contextPayload: Protocol.Runtime.ExecutionContextDescription, session: CDPSession): void
  • removed: method FrameManager._onFrameAttached(session: CDPSession, frameId: string, parentFrameId?: string): void
  • removed: method FrameManager._onFrameDetached(frameId: string, reason: Protocol.Page.FrameDetachedEventReason): void
  • removed: method FrameManager._onFrameNavigated(framePayload: Protocol.Page.Frame): void
  • removed: method FrameManager._onFrameNavigatedWithinDocument(frameId: string, url: string): void
  • removed: method FrameManager._onFrameStoppedLoading(frameId: string): void
  • removed: method FrameManager._onLifecycleEvent(event: Protocol.Page.LifecycleEventEvent): void
  • removed: method HTTPResponse._parseStatusTextFromExtrInfo(extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): string | undefined
  • removed: method JSCoverage._onExecutionContextsCleared(): void
  • removed: method JSCoverage._onScriptParsed(event: Protocol.Debugger.ScriptParsedEvent): Promise<void>
  • removed: method LifecycleWatcher._checkLifecycleComplete(): void
  • removed: method LifecycleWatcher._createTimeoutPromise(): Promise<TimeoutError | null>
  • removed: method LifecycleWatcher._frameSwapped(frame: Frame): void
  • removed: method LifecycleWatcher._navigatedWithinDocument(frame: Frame): void
  • removed: method LifecycleWatcher._onFrameDetached(frame: Frame): void
  • removed: method LifecycleWatcher._onRequest(request: HTTPRequest): void
  • removed: method LifecycleWatcher._terminate(error: Error): void
  • removed: method NetworkManager._cacheDisabled(): boolean
  • removed: method NetworkManager._emitLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._emitLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._emitResponseEvent(responseReceived: Protocol.Network.ResponseReceivedEvent, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null): void
  • removed: method NetworkManager._forgetRequest(request: HTTPRequest, events: boolean): void
  • removed: method NetworkManager._handleRequestRedirect(request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._onAuthRequired(event: Protocol.Fetch.AuthRequiredEvent): void
  • removed: method NetworkManager._onLoadingFailed(event: Protocol.Network.LoadingFailedEvent): void
  • removed: method NetworkManager._onLoadingFinished(event: Protocol.Network.LoadingFinishedEvent): void
  • removed: method NetworkManager._onRequest(event: Protocol.Network.RequestWillBeSentEvent, fetchRequestId?: FetchRequestId): void
  • removed: method NetworkManager._onRequestPaused(event: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._onRequestServedFromCache(event: Protocol.Network.RequestServedFromCacheEvent): void
  • removed: method NetworkManager._onRequestWillBeSent(event: Protocol.Network.RequestWillBeSentEvent): void
  • removed: method NetworkManager._onResponseReceived(event: Protocol.Network.ResponseReceivedEvent): void
  • removed: method NetworkManager._onResponseReceivedExtraInfo(event: Protocol.Network.ResponseReceivedExtraInfoEvent): void
  • removed: method NetworkManager._patchRequestEventHeaders(requestWillBeSentEvent: Protocol.Network.RequestWillBeSentEvent, requestPausedEvent: Protocol.Fetch.RequestPausedEvent): void
  • removed: method NetworkManager._updateNetworkConditions(): Promise<void>
  • removed: method NetworkManager._updateProtocolCacheDisabled(): Promise<void>
  • removed: method NetworkManager._updateProtocolRequestInterception(): Promise<void>
  • removed: method Page.client(): CDPSession
  • removed: method WaitTask._cleanup(): void
  • removed: property BoundingBox.x: number
  • removed: property BoundingBox.y: number
  • removed: property Browser._targets: Map<string, Target>
  • removed: property CDPSession._connection?: Connection
  • removed: property CSSCoverage._client: CDPSession
  • removed: property CSSCoverage._enabled: boolean
  • removed: property CSSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property CSSCoverage._reportAnonymousScripts: boolean
  • removed: property CSSCoverage._resetOnNavigation: boolean
  • removed: property CSSCoverage._stylesheetSources: Map<string, string>
  • removed: property CSSCoverage._stylesheetURLs: Map<string, string>
  • removed: property Connection._callbacks: Map<number, ConnectionCallback>
  • removed: property Connection._closed: boolean
  • removed: property Connection._delay: number
  • removed: property Connection._lastId: number
  • removed: property Connection._sessions: Map<string, CDPSession>
  • removed: property Connection._transport: ConnectionTransport
  • removed: property Connection._url: string
  • removed: property Coverage._cssCoverage: CSSCoverage
  • removed: property Coverage._jsCoverage: JSCoverage
  • removed: property DOMWorld._boundFunctions: Map<string, Function>
  • removed: property DOMWorld._waitTasks: Set<WaitTask>
  • removed: property Frame._client: CDPSession
  • removed: property FrameManager._client: CDPSession
  • removed: property FrameManager._timeoutSettings: TimeoutSettings
  • removed: property JSCoverage._client: CDPSession
  • removed: property JSCoverage._enabled: boolean
  • removed: property JSCoverage._eventListeners: PuppeteerEventListener[]
  • removed: property JSCoverage._includeRawScriptCoverage: boolean
  • removed: property JSCoverage._reportAnonymousScripts: boolean
  • removed: property JSCoverage._resetOnNavigation: boolean
  • removed: property JSCoverage._scriptSources: Map<string, string>
  • removed: property JSCoverage._scriptURLs: Map<string, string>
  • removed: property JSHandle._client: CDPSession
  • removed: property JSHandle._context: ExecutionContext
  • removed: property JSHandle._disposed: boolean
  • removed: property JSHandle._remoteObject: Protocol.Runtime.RemoteObject
  • removed: property LifecycleWatcher._eventListeners: PuppeteerEventListener[]
  • removed: property LifecycleWatcher._expectedLifecycle: ProtocolLifeCycleEvent[]
  • removed: property LifecycleWatcher._frame: Frame
  • removed: property LifecycleWatcher._frameManager: FrameManager
  • removed: property LifecycleWatcher._hasSameDocumentNavigation?: boolean
  • removed: property LifecycleWatcher._initialLoaderId: string
  • removed: property LifecycleWatcher._lifecycleCallback: () => void
  • removed: property LifecycleWatcher._lifecyclePromise: Promise<void>
  • removed: property LifecycleWatcher._maximumTimer?: NodeJS.Timeout
  • removed: property LifecycleWatcher._navigationRequest?: HTTPRequest
  • removed: property LifecycleWatcher._newDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._newDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._sameDocumentNavigationCompleteCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._sameDocumentNavigationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._swapped?: boolean
  • removed: property LifecycleWatcher._terminationCallback: (x?: Error) => void
  • removed: property LifecycleWatcher._terminationPromise: Promise<Error | null>
  • removed: property LifecycleWatcher._timeout: number
  • removed: property LifecycleWatcher._timeoutPromise: Promise<TimeoutError | null>
  • removed: property NetworkManager._attemptedAuthentications: Set<string>
  • removed: property NetworkManager._client: CDPSession_2
  • removed: property NetworkManager._credentials?: Credentials
  • removed: property NetworkManager._emulatedNetworkConditions: InternalNetworkConditions
  • removed: property NetworkManager._extraHTTPHeaders: Record<string, string>
  • removed: property NetworkManager._frameManager: FrameManager_2
  • removed: property NetworkManager._ignoreHTTPSErrors: boolean
  • removed: property NetworkManager._networkEventManager: NetworkEventManager
  • removed: property NetworkManager._protocolRequestInterceptionEnabled: boolean
  • removed: property NetworkManager._userCacheDisabled: boolean
  • removed: property NetworkManager._userRequestInterceptionEnabled: boolean
  • removed: property TimeoutSettings._defaultNavigationTimeout: number | null
  • removed: property TimeoutSettings._defaultTimeout: number | null
  • removed: property Tracing._client: CDPSession
  • removed: property Tracing._path: string
  • removed: property Tracing._recording: boolean
  • removed: property WaitTask._args: SerializableOrJSHandle[]
  • removed: property WaitTask._binding: PageBinding
  • removed: property WaitTask._domWorld: DOMWorld
  • removed: property WaitTask._polling: string | number
  • removed: property WaitTask._predicateAcceptsContextElement: boolean
  • removed: property WaitTask._predicateBody: string
  • removed: property WaitTask._reject: (x: Error) => void
  • removed: property WaitTask._resolve: (x: JSHandle) => void
  • removed: property WaitTask._root: ElementHandle
  • removed: property WaitTask._runCount: number
  • removed: property WaitTask._terminated: boolean
  • removed: property WaitTask._timeout: number
  • removed: property WaitTask._timeoutTimer?: NodeJS.Timeout
  • removed: property WebWorker._client: CDPSession
  • removed: property WebWorker._executionContextCallback: (value: ExecutionContext) => void
  • removed: property WebWorker._executionContextPromise: Promise<ExecutionContext>
  • removed: property WebWorker._url: string
  • removed: static method Browser.create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback): Promise<Browser>
  • removed: static method Page.create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • removed: type PuppeteerErrors = Record<string, typeof CustomError>
  • changed: const EVALUATION_SCRIPT_URL = '__puppeteer_evaluation_script__' → const EVALUATION_SCRIPT_URL = 'pptr://__puppeteer_evaluation_script__'
  • changed: constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback) → constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback)
  • changed: constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world: DOMWorld) → constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world?: DOMWorld)
  • changed: constructor HTTPRequest(client: CDPSession_4, frame: Frame, interceptionId: string, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[]) → constructor HTTPRequest(client: CDPSession_4, frame: Frame | null, interceptionId: string | undefined, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[])
  • changed: constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue) → constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue, isPageTargetCallback: IsPageTargetCallback)
  • changed: interface BoundingBox → interface BoundingBox extends Point
  • changed: method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode> → method Accessibility.snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>
  • changed: method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo> → method BrowserFetcher.download(revision: string, progressCallback?: (x: number, y: number) => void): Promise<BrowserFetcherRevisionInfo | undefined>
  • changed: method DOMWorld._setContext(context?: ExecutionContext): Promise<void> → method DOMWorld._setContext(context: ExecutionContext | null): Promise<void>
  • changed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • changed: method ExecutionContext._adoptBackendNodeId(backendNodeId: Protocol.DOM.BackendNodeId): Promise<ElementHandle> → method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>
  • changed: method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason → method HTTPRequest.abortErrorReason(): Protocol.Network.ErrorReason | null
  • changed: method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> → method HTTPRequest.responseForRequest(): Partial<ResponseForRequest> | null
  • changed: method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | null> → method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | undefined>
  • changed: method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | null> → method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | undefined>
  • changed: method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse> → method Page.goto(url: string, options?: WaitForOptions & { referer?: string }): Promise<HTTPResponse | null>
  • changed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • changed: method PuppeteerNode.launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser> → method PuppeteerNode.launch(options?: PuppeteerLaunchOptions): Promise<Browser>
  • changed: method Target.opener(): Target | null → method Target.opener(): Target | undefined
  • changed: method Tracing.stop(): Promise<Buffer> → method Tracing.stop(): Promise<Buffer | undefined>
  • changed: property BoxModel.border: Array<{ x: number; y: number }> → property BoxModel.border: Point[]
  • changed: property BoxModel.content: Array<{ x: number; y: number }> → property BoxModel.content: Point[]
  • changed: property BoxModel.margin: Array<{ x: number; y: number }> → property BoxModel.margin: Point[]
  • changed: property BoxModel.padding: Array<{ x: number; y: number }> → property BoxModel.padding: Point[]
  • changed: property ExecutionContext._world: DOMWorld → property ExecutionContext._world?: DOMWorld
  • changed: property HTTPRequest._failureText: any → property HTTPRequest._failureText: string | null
  • changed: property HTTPRequest._interceptionId: string → property HTTPRequest._interceptionId: string | undefined
  • changed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle> → property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>>
  • changed: property RemoteAddress.ip: string → property RemoteAddress.ip?: string
  • changed: property RemoteAddress.port: number → property RemoteAddress.port?: number
  • changed: type ConsoleAPICalledCallback = (eventType: string, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void → type ConsoleAPICalledCallback = (eventType: ConsoleMessageType, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void
  • changed: type EvaluateFn<T = any> = string | ((arg1: T, ...args: any[]) => any) → type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • changed: type Platform = 'linux' | 'mac' | 'win32' | 'win64' → type Platform = 'linux' | 'mac' | 'mac_arm' | 'win32' | 'win64'
  • changed: type Serializable = number | string | boolean | null | BigInt | JSONArray | JSONObject → type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • added: const _devicesMap: DevicesMap
  • added: const _keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • added: const _paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • added: function _clearCustomQueryHandlers(): void
  • added: function _connectToBrowser(options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }): Promise<Browser>
  • added: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • added: function _customQueryHandlerNames(): string[]
  • added: function _getQueryHandlerAndSelector(selector: string): { updatedSelector: string; queryHandler: InternalQueryHandler }
  • added: function _registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • added: function _unregisterCustomQueryHandler(name: string): void
  • added: get Browser._targets(): Map<string, Target>
  • added: get Connection._closed(): boolean
  • added: get DOMWorld._boundFunctions(): Map<string, Function>
  • added: get DOMWorld._waitTasks(): Set<WaitTask>
  • added: get FrameManager._client(): CDPSession
  • added: get FrameManager._timeoutSettings(): TimeoutSettings
  • added: get JSHandle._client(): CDPSession
  • added: get JSHandle._context(): ExecutionContext
  • added: get JSHandle._disposed(): boolean
  • added: get JSHandle._remoteObject(): Protocol.Runtime.RemoteObject
  • added: interface PuppeteerErrors
  • added: interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions
  • added: method Browser._getIsPageTargetCallback(): IsPageTargetCallback | undefined
  • added: method DOMWorld._addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • added: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • added: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • added: method Frame._client(): CDPSession
  • added: method Frame._onLoadingStarted(): void
  • added: method Page._client(): CDPSession
  • added: method Target._getTargetInfo(): Protocol.Target.TargetInfo
  • added: property BrowserConnectOptions._isPageTarget?: IsPageTargetCallback
  • added: property Frame._hasStartedLoading: boolean
  • added: property PuppeteerErrors.ProtocolError: typeof ProtocolError
  • added: property PuppeteerErrors.TimeoutError: typeof TimeoutError
  • added: property PuppeteerLaunchOptions.extraPrefsFirefox?: Record<string, unknown>
  • added: property PuppeteerLaunchOptions.product?: Product
  • added: property Target._isPageTargetCallback: IsPageTargetCallback
  • added: static method Browser._create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback): Promise<Browser>
  • added: static method Page._create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • added: type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean
  • added: type LowerCasePaperFormat = 'letter' | 'legal' | 'tabloid' | 'ledger' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6'