Skip to content

Upgrading puppeteer 14 to 15

Unknown14.4.1 → 15.5.0

Fetching 13 releases from GitHub…0 / 13
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.

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

  • removed: export * from './common/Accessibility'
  • removed: export * from './common/Browser'
  • removed: export * from './common/BrowserConnector'
  • removed: export * from './common/Connection'
  • removed: export * from './common/ConsoleMessage'
  • removed: export * from './common/Coverage'
  • removed: export * from './common/DOMWorld'
  • removed: export * from './common/DeviceDescriptors'
  • removed: export * from './common/Dialog'
  • removed: export * from './common/Errors'
  • removed: export * from './common/EvalTypes'
  • removed: export * from './common/EventEmitter'
  • removed: export * from './common/ExecutionContext'
  • removed: export * from './common/FileChooser'
  • removed: export * from './common/FrameManager'
  • removed: export * from './common/HTTPRequest'
  • removed: export * from './common/HTTPResponse'
  • removed: export * from './common/Input'
  • removed: export * from './common/JSHandle'
  • removed: export * from './common/LifecycleWatcher'
  • removed: export * from './common/NetworkConditions'
  • removed: export * from './common/NetworkManager'
  • removed: export * from './common/PDFOptions'
  • removed: export * from './common/Page'
  • removed: export * from './common/Product'
  • removed: export * from './common/Puppeteer'
  • removed: export * from './common/PuppeteerViewport'
  • removed: export * from './common/QueryHandler'
  • removed: export * from './common/SecurityDetails'
  • removed: export * from './common/Target'
  • removed: export * from './common/TimeoutSettings'
  • removed: export * from './common/Tracing'
  • removed: export * from './common/USKeyboardLayout'
  • removed: export * from './common/WebWorker'
  • removed: export * from './node/BrowserFetcher'
  • removed: export * from './node/LaunchOptions'
  • removed: export * from './node/Launcher'
  • removed: export * from './node/Puppeteer'
  • removed: export * from 'devtools-protocol/types/protocol'
  • removed: function clearCustomQueryHandlers(): void
  • removed: function connect(options: ConnectOptions): Promise<Browser>
  • removed: function customQueryHandlerNames(): string[]
  • removed: function launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser>
  • removed: function registerCustomQueryHandler(name: string, queryHandler: CustomQueryHandler): void
  • removed: function unregisterCustomQueryHandler(name: string): void
  • removed: let devices: DevicesMap
  • removed: let errors: PuppeteerErrors
  • removed: let networkConditions: PredefinedNetworkConditions
  • changed: property SnapshotOptions.root?: ElementHandle → property SnapshotOptions.root?: ElementHandle<Node>
  • removed: const _ariaHandler: InternalQueryHandler
  • added: const ariaHandler: InternalQueryHandler
  • removed: property ConnectionCallback.reject: Function
  • removed: property ConnectionCallback.resolve: Function
  • added: get Connection._sessions(): Map<string, CDPSession>
  • added: method ConnectionCallback.reject(args: unknown): void
  • added: method ConnectionCallback.resolve(args: unknown): void
  • added: protected method Connection.onMessage(message: string): Promise<void>
  • changed: method DOMWorld.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method DOMWorld.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method DOMWorld.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method DOMWorld.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method DOMWorld.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method DOMWorld.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method DOMWorld.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.$x(expression: string): Promise<ElementHandle[]> → method DOMWorld.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method DOMWorld._document(): Promise<ElementHandle> → method DOMWorld._document(): Promise<ElementHandle<Document>>
  • changed: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null> → method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle<Node> | null>
  • changed: method DOMWorld.addScriptTag(options: { url?: string; path?: string; content?: string; id?: string; type?: string }): Promise<ElementHandle> → method DOMWorld.addScriptTag(options: { url?: string; path?: string; content?: string; id?: string; type?: string }): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method DOMWorld.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle> → method DOMWorld.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle<Node>>
  • changed: method DOMWorld.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method DOMWorld.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method DOMWorld.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method DOMWorld.waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method DOMWorld.waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number }, ...args: unknown[]): Promise<JSHandle>
  • changed: method DOMWorld.waitForSelector(selector: string, options: WaitForSelectorOptions): Promise<ElementHandle | null> → method DOMWorld.waitForSelector<Selector extends string>(selector: Selector, options: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method DOMWorld.waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise<ElementHandle | null> → method DOMWorld.waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>
  • changed: property WaitForSelectorOptions.root?: ElementHandle → property WaitForSelectorOptions.root?: ElementHandle<Node>
  • changed: property WaitTaskOptions.args: SerializableOrJSHandle[] → property WaitTaskOptions.args: unknown[]
  • changed: property WaitTaskOptions.root?: ElementHandle → property WaitTaskOptions.root?: ElementHandle<Node>
  • added: function importDebug(): Promise<typeof import('debug')>
  • removed: const _devicesMap: DevicesMap
  • added: const devices: DevicesMap
  • added: class ElementHandle<ElementType extends Node = Element> extends JSHandle<ElementType>
  • added: constructor ElementHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject, frame: Frame, page: Page, frameManager: FrameManager)
  • added: method ElementHandle.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • added: method ElementHandle.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • added: method ElementHandle.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • added: method ElementHandle.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • added: method ElementHandle.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • added: method ElementHandle.asElement(): ElementHandle<ElementType> | null
  • added: method ElementHandle.boundingBox(): Promise<BoundingBox | null>
  • added: method ElementHandle.boxModel(): Promise<BoxModel | null>
  • added: method ElementHandle.click(this: ElementHandle<Element>, options?: ClickOptions): Promise<void>
  • added: method ElementHandle.clickablePoint(offset?: Offset): Promise<Point>
  • added: method ElementHandle.contentFrame(): Promise<Frame | null>
  • added: method ElementHandle.drag(this: ElementHandle<Element>, target: Point): Promise<Protocol.Input.DragData>
  • added: method ElementHandle.dragAndDrop(this: ElementHandle<Element>, target: ElementHandle<Node>, options?: { delay: number }): Promise<void>
  • added: method ElementHandle.dragEnter(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.dragOver(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.drop(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.focus(): Promise<void>
  • added: method ElementHandle.hover(this: ElementHandle<Element>): Promise<void>
  • added: method ElementHandle.isIntersectingViewport(this: ElementHandle<Element>, options?: { threshold?: number }): Promise<boolean>
  • added: method ElementHandle.press(key: KeyInput, options?: PressOptions): Promise<void>
  • added: method ElementHandle.screenshot(this: ElementHandle<Element>, options?: ScreenshotOptions): Promise<string | Buffer>
  • added: method ElementHandle.select(...values: string[]): Promise<string[]>
  • added: method ElementHandle.tap(this: ElementHandle<Element>): Promise<void>
  • added: method ElementHandle.type(text: string, options?: { delay: number }): Promise<void>
  • added: method ElementHandle.uploadFile(this: ElementHandle<HTMLInputElement>, ...filePaths: string[]): Promise<void>
  • added: method ElementHandle.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • added: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • removed: const puppeteerErrors: PuppeteerErrors
  • added: const errors: PuppeteerErrors
  • removed: index JSONObject[key: string]: Serializable
  • removed: interface JSONObject
  • removed: type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • removed: type EvaluateFnReturnType<T extends EvaluateFn> = T extends (...args: any[]) => infer R ? R : any
  • removed: type EvaluateHandleFn = string | ((...args: any[]) => any)
  • removed: type JSONArray = readonly Serializable[]
  • removed: type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • removed: type SerializableOrJSHandle = Serializable | JSHandle
  • removed: type UnwrapElementHandle<X> = X extends ElementHandle<infer E> ? E : X
  • removed: type UnwrapPromiseLike<T> = T extends PromiseLike<infer U> ? U : T
  • removed: type WrapElementHandle<X> = X extends Element ? ElementHandle<X> : X
  • removed: const Events: { readonly Page: { readonly Close: 'close'; readonly Console: 'console'; readonly Dialog: 'dialog'; readonly DOMContentLoaded: 'domcontentloaded'; readonly Err…
  • changed: method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle> → method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle<Node>>
  • changed: method ExecutionContext._adoptElementHandle(elementHandle: ElementHandle): Promise<ElementHandle> → method ExecutionContext._adoptElementHandle<T extends ElementHandle<Node>>(elementHandle: T): Promise<T>
  • changed: method ExecutionContext.evaluate<ReturnType>(pageFunction: Function | string, ...args: unknown[]): Promise<ReturnType> → method ExecutionContext.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method ExecutionContext.evaluateHandle<HandleType extends JSHandle | ElementHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method ExecutionContext.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method ExecutionContext.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method ExecutionContext.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<HandleFor<Prototype[]>>
  • changed: constructor FileChooser(element: ElementHandle, event: Protocol.Page.FileChooserOpenedEvent) → constructor FileChooser(element: ElementHandle<HTMLInputElement>, event: Protocol.Page.FileChooserOpenedEvent)
  • removed: method Frame.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: Record<string, unknown>, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • changed: method Frame.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Frame.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Frame.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Frame.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$x(expression: string): Promise<ElementHandle[]> → method Frame.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle> → method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle> → method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<Node>>
  • changed: method Frame.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Frame.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Frame.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForFunction(pageFunction: Function | string, options?: FrameWaitForFunctionOptions, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Frame.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: FrameWaitForFunctionOptions, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForSelector<Selector extends string>(selector: Selector, options?: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>
  • added: method Frame.page(): Page
  • added: get HTTPRequest.client(): CDPSession
  • removed: class ElementHandle<ElementType extends Element = Element> extends JSHandle<ElementType>
  • removed: constructor ElementHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject, frame: Frame, page: Page, frameManager: FrameManager)
  • removed: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • removed: method ElementHandle.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>>
  • removed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method ElementHandle.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null>
  • removed: method ElementHandle.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method ElementHandle.$x(expression: string): Promise<ElementHandle[]>
  • removed: method ElementHandle.asElement(): ElementHandle<ElementType> | null
  • removed: method ElementHandle.boundingBox(): Promise<BoundingBox | null>
  • removed: method ElementHandle.boxModel(): Promise<BoxModel | null>
  • removed: method ElementHandle.click(options?: ClickOptions): Promise<void>
  • removed: method ElementHandle.clickablePoint(offset?: Offset): Promise<Point>
  • removed: method ElementHandle.contentFrame(): Promise<Frame | null>
  • removed: method ElementHandle.drag(target: Point): Promise<Protocol.Input.DragData>
  • removed: method ElementHandle.dragAndDrop(target: ElementHandle, options?: { delay: number }): Promise<void>
  • removed: method ElementHandle.dragEnter(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.dragOver(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.drop(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.focus(): Promise<void>
  • removed: method ElementHandle.hover(): Promise<void>
  • removed: method ElementHandle.isIntersectingViewport(options?: { threshold?: number }): Promise<boolean>
  • removed: method ElementHandle.press(key: KeyInput, options?: PressOptions): Promise<void>
  • removed: method ElementHandle.screenshot(options?: ScreenshotOptions): Promise<string | Buffer>
  • removed: method ElementHandle.select(...values: string[]): Promise<string[]>
  • removed: method ElementHandle.tap(): Promise<void>
  • removed: method ElementHandle.type(text: string, options?: { delay: number }): Promise<void>
  • removed: method ElementHandle.uploadFile(...filePaths: string[]): Promise<void>
  • removed: method ElementHandle.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • removed: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • changed: class JSHandle<HandleObjectType = unknown> → class JSHandle<T = unknown>
  • changed: method JSHandle.asElement(): ElementHandle | null → method JSHandle.asElement(): ElementHandle<Node> | null
  • changed: method JSHandle.evaluate<T extends EvaluateFn<HandleObjectType>>(pageFunction: T | string, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method JSHandle.evaluate<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method JSHandle.evaluateHandle<HandleType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method JSHandle.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method JSHandle.getProperty(propertyName: string): Promise<JSHandle> → method JSHandle.getProperty(propertyName: string): Promise<JSHandle<unknown>>
  • added: method JSHandle.getProperty<K extends keyof T>(propertyName: HandleOr<K>): Promise<HandleFor<T[K]>>
  • added: method JSHandle.remoteObject(): Protocol.Runtime.RemoteObject
  • added: property JSHandle[__JSHandleSymbol]?: T
  • removed: type PredefinedNetworkConditions = { [name: string]: NetworkConditions }
  • changed: const networkConditions: PredefinedNetworkConditions → const networkConditions: Readonly<{ 'Slow 3G': NetworkConditions; 'Fast 3G': NetworkConditions }>
  • removed: type RedirectInfoList = RedirectInfo[]
  • added: type RedirectInfo = { event: Protocol.Network.RequestWillBeSentEvent; fetchRequestId?: FetchRequestId }
  • removed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • changed: method Page.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Page.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Page.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Page.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$x(expression: string): Promise<ElementHandle[]> → method Page.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle> → method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle> → method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle<Node>>
  • changed: method Page.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Page.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Page.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void> → method Page.evaluateOnNewDocument<Params extends unknown[], Func extends (...args: Params) => unknown = (...args: Params) => unknown>(pageFunction: Func | string, ...args: Params): Promise<void>
  • changed: method Page.exposeFunction(name: string, puppeteerFunction: Function | { default: Function }): Promise<void> → method Page.exposeFunction(name: string, pptrFunction: Function | { default: Function }): Promise<void>
  • changed: method Page.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method Page.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<JSHandle<Prototype[]>>
  • changed: method Page.waitForFunction(pageFunction: Function | string, options?: { timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: { timeout?: number; polling?: string | number }, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • added: property ScreenshotOptions.fromSurface?: boolean
  • changed: get Puppeteer.devices(): DevicesMap → get Puppeteer.devices(): typeof devices
  • changed: get Puppeteer.errors(): PuppeteerErrors → get Puppeteer.errors(): typeof errors
  • changed: get Puppeteer.networkConditions(): PredefinedNetworkConditions → get Puppeteer.networkConditions(): typeof networkConditions
  • 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 CustomQueryHandler.queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf<Element> → property CustomQueryHandler.queryAll?: (element: Node, selector: string) => Node[]
  • changed: property CustomQueryHandler.queryOne?: (element: Element | Document, selector: string) => Element | null → property CustomQueryHandler.queryOne?: (element: Node, selector: string) => Node | null
  • changed: property InternalQueryHandler.queryAll?: (element: ElementHandle, selector: string) => Promise<ElementHandle[]> → property InternalQueryHandler.queryAll?: (element: ElementHandle<Node>, selector: string) => Promise<Array<ElementHandle<Node>>>
  • changed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>> → property InternalQueryHandler.queryAllArray?: (element: ElementHandle<Node>, selector: string) => Promise<JSHandle<Node[]>>
  • changed: property InternalQueryHandler.queryOne?: (element: ElementHandle, selector: string) => Promise<ElementHandle | null> → property InternalQueryHandler.queryOne?: (element: ElementHandle<Node>, selector: string) => Promise<ElementHandle<Node> | null>
  • changed: property InternalQueryHandler.waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle | null> → property InternalQueryHandler.waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle<Node> | null>
  • 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: method WebWorker.evaluate<ReturnType>(pageFunction: Function | string, ...args: any[]): Promise<ReturnType> → method WebWorker.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method WebWorker.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method WebWorker.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • removed: const assertNever: (value: unknown, message?: string) => asserts value is never
  • added: type Awaitable<T> = T | PromiseLike<T>
  • added: type EvaluateFunc<T extends unknown[]> = (...params: InnerParams<T>) => Awaitable<unknown>
  • added: type FlattenHandle<T> = T extends HandleOr<infer U> ? U : never
  • added: type HandleFor<T> = T extends Node ? ElementHandle<T> : JSHandle<T>
  • added: type HandleOr<T> = HandleFor<T> | JSHandle<T> | T
  • added: type InnerParams<T extends unknown[]> = { [K in keyof T]: FlattenHandle<T[K]> }
  • added: type NodeFor<Selector extends string> = Selector extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[Selector] : Selector extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[Selector] :…
  • added: function createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle | ElementHandle<Node>
  • added: function importFS(): Promise<typeof import('fs')>
  • added: interface ErrorLike extends Error
  • added: property ErrorLike.message: string
  • added: property ErrorLike.name: string
  • changed: const packageVersion = '14.4.1' → const packageVersion = '15.5.0'
  • added: class ChromeLauncher implements ProductLauncher
  • added: constructor ChromeLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean)
  • added: get ChromeLauncher.product(): Product
  • added: method ChromeLauncher.defaultArgs(options?: BrowserLaunchArgumentOptions): string[]
  • added: method ChromeLauncher.executablePath(channel?: ChromeReleaseChannel): string
  • added: method ChromeLauncher.launch(options?: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: property ChromeLauncher._isPuppeteerCore: boolean
  • added: property ChromeLauncher._preferredRevision: string
  • added: property ChromeLauncher._projectRoot: string | undefined
  • added: class FirefoxLauncher implements ProductLauncher
  • added: constructor FirefoxLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean)
  • added: get FirefoxLauncher.product(): Product
  • added: method FirefoxLauncher._createProfile(extraPrefs: { [x: string]: unknown }): Promise<string>
  • added: method FirefoxLauncher._updateRevision(): Promise<void>
  • added: method FirefoxLauncher.defaultArgs(options?: BrowserLaunchArgumentOptions): string[]
  • added: method FirefoxLauncher.defaultPreferences(extraPrefs: { [x: string]: unknown }): { [x: string]: unknown }
  • added: method FirefoxLauncher.executablePath(): string
  • added: method FirefoxLauncher.launch(options?: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: method FirefoxLauncher.writePreferences(prefs: { [x: string]: unknown }, profilePath: string): Promise<void>
  • added: property FirefoxLauncher._isPuppeteerCore: boolean
  • added: property FirefoxLauncher._preferredRevision: string
  • added: property FirefoxLauncher._projectRoot: string | undefined
  • removed: default function Launcher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean, product?: string): ProductLauncher
  • removed: interface ProductLauncher
  • removed: method ProductLauncher.defaultArgs(object: BrowserLaunchArgumentOptions): string[]
  • removed: method ProductLauncher.launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>
  • removed: property ProductLauncher.executablePath: (path?: any) => string
  • removed: property ProductLauncher.product: Product
  • added: function createLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean, product?: Product): ProductLauncher
  • added: function executablePathForChannel(channel: ChromeReleaseChannel): string
  • added: function resolveExecutablePath(launcher: ChromeLauncher | FirefoxLauncher): { executablePath: string; missingText?: string }
  • added: interface ProductLauncher
  • added: method ProductLauncher.defaultArgs(object: BrowserLaunchArgumentOptions): string[]
  • added: method ProductLauncher.launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: property ProductLauncher.executablePath: (path?: any) => string
  • added: property ProductLauncher.product: Product
  • added: const tmpdir: () => string
  • removed: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • changed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode → const puppeteer: import('./types.js').PuppeteerNode
  • added: const connect: (options: import('./types.js').ConnectOptions) => Promise<import('./types.js').Browser>, createBrowserFetcher: (options: import('./types.js').BrowserFetcherOpt…
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Errors'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/QueryHandler'
  • added: export { Protocol } from 'devtools-protocol'
  • removed: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • changed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode → const puppeteer: import('./types.js').PuppeteerNode
  • added: const connect: (options: import('./types.js').ConnectOptions) => Promise<import('./types.js').Browser>, createBrowserFetcher: (options: import('./types.js').BrowserFetcherOpt…
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Errors'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/QueryHandler'
  • changed: const PUPPETEER_REVISIONS: Revisions → const PUPPETEER_REVISIONS: Readonly<{ chromium: '1022525'; firefox: 'latest' }>
  • added: export * from './common/Accessibility'
  • added: export * from './common/AriaQueryHandler'
  • added: export * from './common/Browser'
  • added: export * from './common/BrowserConnector'
  • added: export * from './common/BrowserWebSocketTransport'
  • added: export * from './common/Connection'
  • added: export * from './common/ConnectionTransport'
  • added: export * from './common/ConsoleMessage'
  • added: export * from './common/Coverage'
  • added: export * from './common/DOMWorld'
  • added: export * from './common/Debug'
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Dialog'
  • added: export * from './common/ElementHandle'
  • added: export * from './common/EmulationManager'
  • added: export * from './common/Errors'
  • added: export * from './common/EventEmitter'
  • added: export * from './common/ExecutionContext'
  • added: export * from './common/FileChooser'
  • added: export * from './common/FrameManager'
  • added: export * from './common/HTTPRequest'
  • added: export * from './common/HTTPResponse'
  • added: export * from './common/Input'
  • added: export * from './common/JSHandle'
  • added: export * from './common/LifecycleWatcher'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/NetworkEventManager'
  • added: export * from './common/NetworkManager'
  • added: export * from './common/PDFOptions'
  • added: export * from './common/Page'
  • added: export * from './common/Product'
  • added: export * from './common/Puppeteer'
  • added: export * from './common/PuppeteerViewport'
  • added: export * from './common/QueryHandler'
  • added: export * from './common/SecurityDetails'
  • added: export * from './common/Target'
  • added: export * from './common/TaskQueue'
  • added: export * from './common/TimeoutSettings'
  • added: export * from './common/Tracing'
  • added: export * from './common/USKeyboardLayout'
  • added: export * from './common/WebWorker'
  • added: export * from './common/assert'
  • added: export * from './common/fetch'
  • added: export * from './common/types'
  • added: export * from './common/util'
  • added: export * from './compat'
  • added: export * from './constants'
  • added: export * from './environment'
  • added: export * from './generated/version'
  • added: export * from './initializePuppeteer'
  • added: export * from './node/BrowserFetcher'
  • added: export * from './node/BrowserRunner'
  • added: export * from './node/ChromeLauncher'
  • added: export * from './node/FirefoxLauncher'
  • added: export * from './node/LaunchOptions'
  • added: export * from './node/NodeWebSocketTransport'
  • added: export * from './node/PipeTransport'
  • added: export * from './node/ProductLauncher'
  • added: export * from './node/Puppeteer'
  • added: export * from './node/install'
  • added: export * from './node/util'
  • added: export * from './puppeteer'
  • added: export * from './revisions'
  • removed: export * from './common/Accessibility'
  • removed: export * from './common/Browser'
  • removed: export * from './common/BrowserConnector'
  • removed: export * from './common/Connection'
  • removed: export * from './common/ConsoleMessage'
  • removed: export * from './common/Coverage'
  • removed: export * from './common/DOMWorld'
  • removed: export * from './common/DeviceDescriptors'
  • removed: export * from './common/Dialog'
  • removed: export * from './common/Errors'
  • removed: export * from './common/EvalTypes'
  • removed: export * from './common/EventEmitter'
  • removed: export * from './common/ExecutionContext'
  • removed: export * from './common/FileChooser'
  • removed: export * from './common/FrameManager'
  • removed: export * from './common/HTTPRequest'
  • removed: export * from './common/HTTPResponse'
  • removed: export * from './common/Input'
  • removed: export * from './common/JSHandle'
  • removed: export * from './common/LifecycleWatcher'
  • removed: export * from './common/NetworkConditions'
  • removed: export * from './common/NetworkManager'
  • removed: export * from './common/PDFOptions'
  • removed: export * from './common/Page'
  • removed: export * from './common/Product'
  • removed: export * from './common/Puppeteer'
  • removed: export * from './common/PuppeteerViewport'
  • removed: export * from './common/QueryHandler'
  • removed: export * from './common/SecurityDetails'
  • removed: export * from './common/Target'
  • removed: export * from './common/TimeoutSettings'
  • removed: export * from './common/Tracing'
  • removed: export * from './common/USKeyboardLayout'
  • removed: export * from './common/WebWorker'
  • removed: export * from './node/BrowserFetcher'
  • removed: export * from './node/LaunchOptions'
  • removed: export * from './node/Launcher'
  • removed: export * from './node/Puppeteer'
  • removed: export * from 'devtools-protocol/types/protocol'
  • removed: function clearCustomQueryHandlers(): void
  • removed: function connect(options: ConnectOptions): Promise<Browser>
  • removed: function customQueryHandlerNames(): string[]
  • removed: function launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser>
  • removed: function registerCustomQueryHandler(name: string, queryHandler: CustomQueryHandler): void
  • removed: function unregisterCustomQueryHandler(name: string): void
  • removed: let devices: DevicesMap
  • removed: let errors: PuppeteerErrors
  • removed: let networkConditions: PredefinedNetworkConditions
  • changed: property SnapshotOptions.root?: ElementHandle → property SnapshotOptions.root?: ElementHandle<Node>
  • removed: const _ariaHandler: InternalQueryHandler
  • added: const ariaHandler: InternalQueryHandler
  • removed: property ConnectionCallback.reject: Function
  • removed: property ConnectionCallback.resolve: Function
  • added: get Connection._sessions(): Map<string, CDPSession>
  • added: method ConnectionCallback.reject(args: unknown): void
  • added: method ConnectionCallback.resolve(args: unknown): void
  • added: protected method Connection.onMessage(message: string): Promise<void>
  • changed: method DOMWorld.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method DOMWorld.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method DOMWorld.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method DOMWorld.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method DOMWorld.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method DOMWorld.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method DOMWorld.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.$x(expression: string): Promise<ElementHandle[]> → method DOMWorld.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method DOMWorld._document(): Promise<ElementHandle> → method DOMWorld._document(): Promise<ElementHandle<Document>>
  • changed: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null> → method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle<Node> | null>
  • changed: method DOMWorld.addScriptTag(options: { url?: string; path?: string; content?: string; id?: string; type?: string }): Promise<ElementHandle> → method DOMWorld.addScriptTag(options: { url?: string; path?: string; content?: string; id?: string; type?: string }): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method DOMWorld.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle> → method DOMWorld.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle<Node>>
  • changed: method DOMWorld.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method DOMWorld.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method DOMWorld.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method DOMWorld.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method DOMWorld.waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method DOMWorld.waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number }, ...args: unknown[]): Promise<JSHandle>
  • changed: method DOMWorld.waitForSelector(selector: string, options: WaitForSelectorOptions): Promise<ElementHandle | null> → method DOMWorld.waitForSelector<Selector extends string>(selector: Selector, options: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method DOMWorld.waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise<ElementHandle | null> → method DOMWorld.waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>
  • changed: property WaitForSelectorOptions.root?: ElementHandle → property WaitForSelectorOptions.root?: ElementHandle<Node>
  • changed: property WaitTaskOptions.args: SerializableOrJSHandle[] → property WaitTaskOptions.args: unknown[]
  • changed: property WaitTaskOptions.root?: ElementHandle → property WaitTaskOptions.root?: ElementHandle<Node>
  • added: function importDebug(): Promise<typeof import('debug')>
  • removed: const _devicesMap: DevicesMap
  • added: const devices: DevicesMap
  • added: class ElementHandle<ElementType extends Node = Element> extends JSHandle<ElementType>
  • added: constructor ElementHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject, frame: Frame, page: Page, frameManager: FrameManager)
  • added: method ElementHandle.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • added: method ElementHandle.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • added: method ElementHandle.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • added: method ElementHandle.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • added: method ElementHandle.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • added: method ElementHandle.asElement(): ElementHandle<ElementType> | null
  • added: method ElementHandle.boundingBox(): Promise<BoundingBox | null>
  • added: method ElementHandle.boxModel(): Promise<BoxModel | null>
  • added: method ElementHandle.click(this: ElementHandle<Element>, options?: ClickOptions): Promise<void>
  • added: method ElementHandle.clickablePoint(offset?: Offset): Promise<Point>
  • added: method ElementHandle.contentFrame(): Promise<Frame | null>
  • added: method ElementHandle.drag(this: ElementHandle<Element>, target: Point): Promise<Protocol.Input.DragData>
  • added: method ElementHandle.dragAndDrop(this: ElementHandle<Element>, target: ElementHandle<Node>, options?: { delay: number }): Promise<void>
  • added: method ElementHandle.dragEnter(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.dragOver(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.drop(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • added: method ElementHandle.focus(): Promise<void>
  • added: method ElementHandle.hover(this: ElementHandle<Element>): Promise<void>
  • added: method ElementHandle.isIntersectingViewport(this: ElementHandle<Element>, options?: { threshold?: number }): Promise<boolean>
  • added: method ElementHandle.press(key: KeyInput, options?: PressOptions): Promise<void>
  • added: method ElementHandle.screenshot(this: ElementHandle<Element>, options?: ScreenshotOptions): Promise<string | Buffer>
  • added: method ElementHandle.select(...values: string[]): Promise<string[]>
  • added: method ElementHandle.tap(this: ElementHandle<Element>): Promise<void>
  • added: method ElementHandle.type(text: string, options?: { delay: number }): Promise<void>
  • added: method ElementHandle.uploadFile(this: ElementHandle<HTMLInputElement>, ...filePaths: string[]): Promise<void>
  • added: method ElementHandle.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • added: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • removed: const puppeteerErrors: PuppeteerErrors
  • added: const errors: PuppeteerErrors
  • removed: index JSONObject[key: string]: Serializable
  • removed: interface JSONObject
  • removed: type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • removed: type EvaluateFnReturnType<T extends EvaluateFn> = T extends (...args: any[]) => infer R ? R : any
  • removed: type EvaluateHandleFn = string | ((...args: any[]) => any)
  • removed: type JSONArray = readonly Serializable[]
  • removed: type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • removed: type SerializableOrJSHandle = Serializable | JSHandle
  • removed: type UnwrapElementHandle<X> = X extends ElementHandle<infer E> ? E : X
  • removed: type UnwrapPromiseLike<T> = T extends PromiseLike<infer U> ? U : T
  • removed: type WrapElementHandle<X> = X extends Element ? ElementHandle<X> : X
  • removed: const Events: { readonly Page: { readonly Close: 'close'; readonly Console: 'console'; readonly Dialog: 'dialog'; readonly DOMContentLoaded: 'domcontentloaded'; readonly Err…
  • changed: method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle> → method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle<Node>>
  • changed: method ExecutionContext._adoptElementHandle(elementHandle: ElementHandle): Promise<ElementHandle> → method ExecutionContext._adoptElementHandle<T extends ElementHandle<Node>>(elementHandle: T): Promise<T>
  • changed: method ExecutionContext.evaluate<ReturnType>(pageFunction: Function | string, ...args: unknown[]): Promise<ReturnType> → method ExecutionContext.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method ExecutionContext.evaluateHandle<HandleType extends JSHandle | ElementHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method ExecutionContext.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method ExecutionContext.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method ExecutionContext.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<HandleFor<Prototype[]>>
  • changed: constructor FileChooser(element: ElementHandle, event: Protocol.Page.FileChooserOpenedEvent) → constructor FileChooser(element: ElementHandle<HTMLInputElement>, event: Protocol.Page.FileChooserOpenedEvent)
  • removed: method Frame.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: Record<string, unknown>, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • changed: method Frame.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Frame.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Frame.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Frame.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$x(expression: string): Promise<ElementHandle[]> → method Frame.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle> → method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle> → method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<Node>>
  • changed: method Frame.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Frame.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Frame.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForFunction(pageFunction: Function | string, options?: FrameWaitForFunctionOptions, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Frame.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: FrameWaitForFunctionOptions, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForSelector<Selector extends string>(selector: Selector, options?: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>
  • added: method Frame.page(): Page
  • added: get HTTPRequest.client(): CDPSession
  • removed: class ElementHandle<ElementType extends Element = Element> extends JSHandle<ElementType>
  • removed: constructor ElementHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject, frame: Frame, page: Page, frameManager: FrameManager)
  • removed: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • removed: method ElementHandle.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>>
  • removed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method ElementHandle.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null>
  • removed: method ElementHandle.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method ElementHandle.$x(expression: string): Promise<ElementHandle[]>
  • removed: method ElementHandle.asElement(): ElementHandle<ElementType> | null
  • removed: method ElementHandle.boundingBox(): Promise<BoundingBox | null>
  • removed: method ElementHandle.boxModel(): Promise<BoxModel | null>
  • removed: method ElementHandle.click(options?: ClickOptions): Promise<void>
  • removed: method ElementHandle.clickablePoint(offset?: Offset): Promise<Point>
  • removed: method ElementHandle.contentFrame(): Promise<Frame | null>
  • removed: method ElementHandle.drag(target: Point): Promise<Protocol.Input.DragData>
  • removed: method ElementHandle.dragAndDrop(target: ElementHandle, options?: { delay: number }): Promise<void>
  • removed: method ElementHandle.dragEnter(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.dragOver(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.drop(data?: Protocol.Input.DragData): Promise<void>
  • removed: method ElementHandle.focus(): Promise<void>
  • removed: method ElementHandle.hover(): Promise<void>
  • removed: method ElementHandle.isIntersectingViewport(options?: { threshold?: number }): Promise<boolean>
  • removed: method ElementHandle.press(key: KeyInput, options?: PressOptions): Promise<void>
  • removed: method ElementHandle.screenshot(options?: ScreenshotOptions): Promise<string | Buffer>
  • removed: method ElementHandle.select(...values: string[]): Promise<string[]>
  • removed: method ElementHandle.tap(): Promise<void>
  • removed: method ElementHandle.type(text: string, options?: { delay: number }): Promise<void>
  • removed: method ElementHandle.uploadFile(...filePaths: string[]): Promise<void>
  • removed: method ElementHandle.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • removed: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null>
  • changed: class JSHandle<HandleObjectType = unknown> → class JSHandle<T = unknown>
  • changed: method JSHandle.asElement(): ElementHandle | null → method JSHandle.asElement(): ElementHandle<Node> | null
  • changed: method JSHandle.evaluate<T extends EvaluateFn<HandleObjectType>>(pageFunction: T | string, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method JSHandle.evaluate<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method JSHandle.evaluateHandle<HandleType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method JSHandle.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method JSHandle.getProperty(propertyName: string): Promise<JSHandle> → method JSHandle.getProperty(propertyName: string): Promise<JSHandle<unknown>>
  • added: method JSHandle.getProperty<K extends keyof T>(propertyName: HandleOr<K>): Promise<HandleFor<T[K]>>
  • added: method JSHandle.remoteObject(): Protocol.Runtime.RemoteObject
  • added: property JSHandle[__JSHandleSymbol]?: T
  • removed: type PredefinedNetworkConditions = { [name: string]: NetworkConditions }
  • changed: const networkConditions: PredefinedNetworkConditions → const networkConditions: Readonly<{ 'Slow 3G': NetworkConditions; 'Fast 3G': NetworkConditions }>
  • removed: type RedirectInfoList = RedirectInfo[]
  • added: type RedirectInfo = { event: Protocol.Network.RequestWillBeSentEvent; fetchRequestId?: FetchRequestId }
  • removed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • changed: method Page.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Page.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Page.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Page.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$x(expression: string): Promise<ElementHandle[]> → method Page.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle> → method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle> → method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle<Node>>
  • changed: method Page.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Page.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Page.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void> → method Page.evaluateOnNewDocument<Params extends unknown[], Func extends (...args: Params) => unknown = (...args: Params) => unknown>(pageFunction: Func | string, ...args: Params): Promise<void>
  • changed: method Page.exposeFunction(name: string, puppeteerFunction: Function | { default: Function }): Promise<void> → method Page.exposeFunction(name: string, pptrFunction: Function | { default: Function }): Promise<void>
  • changed: method Page.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method Page.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<JSHandle<Prototype[]>>
  • changed: method Page.waitForFunction(pageFunction: Function | string, options?: { timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: { timeout?: number; polling?: string | number }, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • added: property ScreenshotOptions.fromSurface?: boolean
  • changed: get Puppeteer.devices(): DevicesMap → get Puppeteer.devices(): typeof devices
  • changed: get Puppeteer.errors(): PuppeteerErrors → get Puppeteer.errors(): typeof errors
  • changed: get Puppeteer.networkConditions(): PredefinedNetworkConditions → get Puppeteer.networkConditions(): typeof networkConditions
  • 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 CustomQueryHandler.queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf<Element> → property CustomQueryHandler.queryAll?: (element: Node, selector: string) => Node[]
  • changed: property CustomQueryHandler.queryOne?: (element: Element | Document, selector: string) => Element | null → property CustomQueryHandler.queryOne?: (element: Node, selector: string) => Node | null
  • changed: property InternalQueryHandler.queryAll?: (element: ElementHandle, selector: string) => Promise<ElementHandle[]> → property InternalQueryHandler.queryAll?: (element: ElementHandle<Node>, selector: string) => Promise<Array<ElementHandle<Node>>>
  • changed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>> → property InternalQueryHandler.queryAllArray?: (element: ElementHandle<Node>, selector: string) => Promise<JSHandle<Node[]>>
  • changed: property InternalQueryHandler.queryOne?: (element: ElementHandle, selector: string) => Promise<ElementHandle | null> → property InternalQueryHandler.queryOne?: (element: ElementHandle<Node>, selector: string) => Promise<ElementHandle<Node> | null>
  • changed: property InternalQueryHandler.waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle | null> → property InternalQueryHandler.waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle<Node> | null>
  • 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: method WebWorker.evaluate<ReturnType>(pageFunction: Function | string, ...args: any[]): Promise<ReturnType> → method WebWorker.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method WebWorker.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method WebWorker.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • removed: const assertNever: (value: unknown, message?: string) => asserts value is never
  • added: type Awaitable<T> = T | PromiseLike<T>
  • added: type EvaluateFunc<T extends unknown[]> = (...params: InnerParams<T>) => Awaitable<unknown>
  • added: type FlattenHandle<T> = T extends HandleOr<infer U> ? U : never
  • added: type HandleFor<T> = T extends Node ? ElementHandle<T> : JSHandle<T>
  • added: type HandleOr<T> = HandleFor<T> | JSHandle<T> | T
  • added: type InnerParams<T extends unknown[]> = { [K in keyof T]: FlattenHandle<T[K]> }
  • added: type NodeFor<Selector extends string> = Selector extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[Selector] : Selector extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[Selector] :…
  • added: function createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle | ElementHandle<Node>
  • added: function importFS(): Promise<typeof import('fs')>
  • added: interface ErrorLike extends Error
  • added: property ErrorLike.message: string
  • added: property ErrorLike.name: string
  • changed: const packageVersion = '14.4.1' → const packageVersion = '15.5.0'
  • added: class ChromeLauncher implements ProductLauncher
  • added: constructor ChromeLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean)
  • added: get ChromeLauncher.product(): Product
  • added: method ChromeLauncher.defaultArgs(options?: BrowserLaunchArgumentOptions): string[]
  • added: method ChromeLauncher.executablePath(channel?: ChromeReleaseChannel): string
  • added: method ChromeLauncher.launch(options?: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: property ChromeLauncher._isPuppeteerCore: boolean
  • added: property ChromeLauncher._preferredRevision: string
  • added: property ChromeLauncher._projectRoot: string | undefined
  • added: class FirefoxLauncher implements ProductLauncher
  • added: constructor FirefoxLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean)
  • added: get FirefoxLauncher.product(): Product
  • added: method FirefoxLauncher._createProfile(extraPrefs: { [x: string]: unknown }): Promise<string>
  • added: method FirefoxLauncher._updateRevision(): Promise<void>
  • added: method FirefoxLauncher.defaultArgs(options?: BrowserLaunchArgumentOptions): string[]
  • added: method FirefoxLauncher.defaultPreferences(extraPrefs: { [x: string]: unknown }): { [x: string]: unknown }
  • added: method FirefoxLauncher.executablePath(): string
  • added: method FirefoxLauncher.launch(options?: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: method FirefoxLauncher.writePreferences(prefs: { [x: string]: unknown }, profilePath: string): Promise<void>
  • added: property FirefoxLauncher._isPuppeteerCore: boolean
  • added: property FirefoxLauncher._preferredRevision: string
  • added: property FirefoxLauncher._projectRoot: string | undefined
  • removed: default function Launcher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean, product?: string): ProductLauncher
  • removed: interface ProductLauncher
  • removed: method ProductLauncher.defaultArgs(object: BrowserLaunchArgumentOptions): string[]
  • removed: method ProductLauncher.launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>
  • removed: property ProductLauncher.executablePath: (path?: any) => string
  • removed: property ProductLauncher.product: Product
  • added: function createLauncher(projectRoot: string | undefined, preferredRevision: string, isPuppeteerCore: boolean, product?: Product): ProductLauncher
  • added: function executablePathForChannel(channel: ChromeReleaseChannel): string
  • added: function resolveExecutablePath(launcher: ChromeLauncher | FirefoxLauncher): { executablePath: string; missingText?: string }
  • added: interface ProductLauncher
  • added: method ProductLauncher.defaultArgs(object: BrowserLaunchArgumentOptions): string[]
  • added: method ProductLauncher.launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>
  • added: property ProductLauncher.executablePath: (path?: any) => string
  • added: property ProductLauncher.product: Product
  • added: const tmpdir: () => string
  • removed: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • changed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode → const puppeteer: import('./types.js').PuppeteerNode
  • added: const connect: (options: import('./types.js').ConnectOptions) => Promise<import('./types.js').Browser>, createBrowserFetcher: (options: import('./types.js').BrowserFetcherOpt…
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Errors'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/QueryHandler'
  • added: export { Protocol } from 'devtools-protocol'
  • removed: const clearCustomQueryHandlers: () => void, connect: (options: import('./api-docs-entry.js').ConnectOptions) => Promise<import('./api-docs-entry.js').Browser>, createBrowserFetcher: (options:…
  • changed: const puppeteer: import('./api-docs-entry.js').PuppeteerNode → const puppeteer: import('./types.js').PuppeteerNode
  • added: const connect: (options: import('./types.js').ConnectOptions) => Promise<import('./types.js').Browser>, createBrowserFetcher: (options: import('./types.js').BrowserFetcherOpt…
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Errors'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/QueryHandler'
  • changed: const PUPPETEER_REVISIONS: Revisions → const PUPPETEER_REVISIONS: Readonly<{ chromium: '1022525'; firefox: 'latest' }>
  • added: export * from './common/Accessibility'
  • added: export * from './common/AriaQueryHandler'
  • added: export * from './common/Browser'
  • added: export * from './common/BrowserConnector'
  • added: export * from './common/BrowserWebSocketTransport'
  • added: export * from './common/Connection'
  • added: export * from './common/ConnectionTransport'
  • added: export * from './common/ConsoleMessage'
  • added: export * from './common/Coverage'
  • added: export * from './common/DOMWorld'
  • added: export * from './common/Debug'
  • added: export * from './common/DeviceDescriptors'
  • added: export * from './common/Dialog'
  • added: export * from './common/ElementHandle'
  • added: export * from './common/EmulationManager'
  • added: export * from './common/Errors'
  • added: export * from './common/EventEmitter'
  • added: export * from './common/ExecutionContext'
  • added: export * from './common/FileChooser'
  • added: export * from './common/FrameManager'
  • added: export * from './common/HTTPRequest'
  • added: export * from './common/HTTPResponse'
  • added: export * from './common/Input'
  • added: export * from './common/JSHandle'
  • added: export * from './common/LifecycleWatcher'
  • added: export * from './common/NetworkConditions'
  • added: export * from './common/NetworkEventManager'
  • added: export * from './common/NetworkManager'
  • added: export * from './common/PDFOptions'
  • added: export * from './common/Page'
  • added: export * from './common/Product'
  • added: export * from './common/Puppeteer'
  • added: export * from './common/PuppeteerViewport'
  • added: export * from './common/QueryHandler'
  • added: export * from './common/SecurityDetails'
  • added: export * from './common/Target'
  • added: export * from './common/TaskQueue'
  • added: export * from './common/TimeoutSettings'
  • added: export * from './common/Tracing'
  • added: export * from './common/USKeyboardLayout'
  • added: export * from './common/WebWorker'
  • added: export * from './common/assert'
  • added: export * from './common/fetch'
  • added: export * from './common/types'
  • added: export * from './common/util'
  • added: export * from './compat'
  • added: export * from './constants'
  • added: export * from './environment'
  • added: export * from './generated/version'
  • added: export * from './initializePuppeteer'
  • added: export * from './node/BrowserFetcher'
  • added: export * from './node/BrowserRunner'
  • added: export * from './node/ChromeLauncher'
  • added: export * from './node/FirefoxLauncher'
  • added: export * from './node/LaunchOptions'
  • added: export * from './node/NodeWebSocketTransport'
  • added: export * from './node/PipeTransport'
  • added: export * from './node/ProductLauncher'
  • added: export * from './node/Puppeteer'
  • added: export * from './node/install'
  • added: export * from './node/util'
  • added: export * from './puppeteer'
  • added: export * from './revisions'
  • removed: class DOMWorld
  • removed: class FrameManager extends EventEmitter
  • removed: class LifecycleWatcher
  • removed: class NetworkManager extends EventEmitter
  • removed: class TimeoutSettings
  • removed: class WaitTask
  • removed: const CDPSessionEmittedEvents: { readonly Disconnected: symbol }
  • removed: const ConnectionEmittedEvents: { readonly Disconnected: symbol }
  • removed: const FrameManagerEmittedEvents: { FrameAttached: symbol; FrameNavigated: symbol; FrameDetached: symbol; FrameSwapped: symbol; LifecycleEvent: symbol; FrameNavigatedWithinDocument: symbol; Exe…
  • removed: const NetworkManagerEmittedEvents: { readonly Request: symbol; readonly RequestServedFromCache: symbol; readonly Response: symbol; readonly RequestFailed: symbol; readonly RequestFinished: symbo…
  • removed: const _devicesMap: DevicesMap
  • removed: const _keyDefinitions: Readonly<Record<KeyInput, KeyDefinition>>
  • removed: const _paperFormats: Record<LowerCasePaperFormat, PaperFormatDimensions>
  • removed: const puppeteerErrors: PuppeteerErrors
  • removed: constructor Accessibility(client: CDPSession)
  • removed: constructor Browser(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback)
  • removed: constructor BrowserContext(connection: Connection, browser: Browser, contextId?: string)
  • removed: constructor BrowserFetcher(projectRoot: string, options?: BrowserFetcherOptions)
  • removed: constructor CDPSession(connection: Connection, targetType: string, sessionId: string)
  • removed: constructor DOMWorld(client: CDPSession, frameManager: FrameManager, frame: Frame, timeoutSettings: TimeoutSettings)
  • removed: constructor Dialog(client: CDPSession, type: Protocol.Page.DialogType, message: string, defaultValue?: string)
  • removed: constructor ElementHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject, frame: Frame, page: Page, frameManager: FrameManager)
  • removed: constructor EventEmitter()
  • removed: constructor ExecutionContext(client: CDPSession, contextPayload: Protocol.Runtime.ExecutionContextDescription, world?: DOMWorld)
  • removed: constructor FileChooser(element: ElementHandle, event: Protocol.Page.FileChooserOpenedEvent)
  • removed: constructor Frame(frameManager: FrameManager, parentFrame: Frame | null, frameId: string, client: CDPSession)
  • removed: constructor FrameManager(client: CDPSession, page: Page, ignoreHTTPSErrors: boolean, timeoutSettings: TimeoutSettings)
  • removed: constructor HTTPRequest(client: CDPSession_4, frame: Frame | null, interceptionId: string | undefined, allowInterception: boolean, event: Protocol.Network.RequestWillBeSentEvent, redirectChain: HTTPRequest[])
  • removed: constructor HTTPResponse(client: CDPSession_3, request: HTTPRequest, responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null)
  • removed: constructor JSHandle(context: ExecutionContext, client: CDPSession, remoteObject: Protocol.Runtime.RemoteObject)
  • removed: constructor Keyboard(client: CDPSession)
  • removed: constructor LifecycleWatcher(frameManager: FrameManager, frame: Frame, waitUntil: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[], timeout: number)
  • removed: constructor Mouse(client: CDPSession, keyboard: Keyboard)
  • removed: constructor NetworkManager(client: CDPSession_2, ignoreHTTPSErrors: boolean, frameManager: FrameManager_2)
  • removed: constructor Page(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, screenshotTaskQueue: TaskQueue)
  • removed: constructor Puppeteer(settings: CommonPuppeteerSettings)
  • removed: constructor PuppeteerNode(settings: { projectRoot?: string; preferredRevision: string; productName?: Product } & CommonPuppeteerSettings)
  • removed: constructor SecurityDetails(securityPayload: Protocol.Network.SecurityDetails)
  • removed: constructor Target(targetInfo: Protocol.Target.TargetInfo, browserContext: BrowserContext, sessionFactory: () => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue, isPageTargetCallback: IsPageTargetCallback)
  • removed: constructor TimeoutSettings()
  • removed: constructor Touchscreen(client: CDPSession, keyboard: Keyboard)
  • removed: constructor Tracing(client: CDPSession)
  • removed: constructor WaitTask(options: WaitTaskOptions)
  • removed: constructor WebWorker(client: CDPSession, url: string, consoleAPICalled: ConsoleAPICalledCallback, exceptionThrown: ExceptionThrownCallback)
  • removed: export * from 'devtools-protocol/types/protocol'
  • removed: function _clearCustomQueryHandlers(): void
  • removed: function _connectToBrowser(options: BrowserConnectOptions & { browserWSEndpoint?: string; browserURL?: string; transport?: ConnectionTransport }): Promise<Browser>
  • removed: function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle
  • 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
  • removed: function connect(options: ConnectOptions): Promise<Browser>
  • removed: function launch(options?: LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions & { product?: Product; extraPrefsFirefox?: Record<string, unknown> }): Promise<Browser>
  • removed: get Browser._targets(): Map<string, Target>
  • removed: get Connection._closed(): boolean
  • removed: get DOMWorld._boundFunctions(): Map<string, Function>
  • removed: get DOMWorld._waitTasks(): Set<WaitTask>
  • removed: get FrameManager._client(): CDPSession
  • removed: get FrameManager._timeoutSettings(): TimeoutSettings
  • removed: get JSHandle._client(): CDPSession
  • removed: get JSHandle._context(): ExecutionContext
  • removed: get JSHandle._disposed(): boolean
  • removed: get JSHandle._remoteObject(): Protocol.Runtime.RemoteObject
  • removed: get PuppeteerNode._launcher(): ProductLauncher
  • removed: get PuppeteerNode._productName(): Product | undefined
  • removed: index JSONObject[key: string]: Serializable
  • removed: interface CommonPuppeteerSettings
  • removed: interface InternalQueryHandler
  • removed: interface JSONObject
  • removed: interface KeyDefinition
  • removed: interface PageBinding
  • removed: interface PaperFormatDimensions
  • removed: interface PuppeteerEventListener
  • removed: interface WaitTaskOptions
  • removed: let devices: DevicesMap
  • removed: let errors: PuppeteerErrors
  • removed: let networkConditions: PredefinedNetworkConditions
  • removed: method Browser._createPageInContext(contextId?: string): Promise<Page>
  • removed: method Browser._disposeContext(contextId?: string): Promise<void>
  • removed: method Browser._getIsPageTargetCallback(): IsPageTargetCallback | undefined
  • removed: method CDPSession._onClosed(): void
  • removed: method CDPSession._onMessage(object: CDPSessionOnMessageObject): void
  • removed: method Connection._rawSend(message: Record<string, unknown>): number
  • removed: method DOMWorld.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>>
  • removed: method DOMWorld.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method DOMWorld.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null>
  • removed: method DOMWorld.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>>
  • removed: method DOMWorld.$x(expression: string): Promise<ElementHandle[]>
  • removed: method DOMWorld._addBindingToContext(context: ExecutionContext, name: string): Promise<void>
  • removed: method DOMWorld._detach(): void
  • removed: method DOMWorld._document(): Promise<ElementHandle>
  • removed: method DOMWorld._hasContext(): boolean
  • removed: method DOMWorld._setContext(context: ExecutionContext | null): Promise<void>
  • removed: method DOMWorld._waitForSelectorInPage(queryOne: Function, selector: string, options: WaitForSelectorOptions, binding?: PageBinding): Promise<ElementHandle | null>
  • removed: method DOMWorld.addScriptTag(options: { url?: string; path?: string; content?: string; id?: string; type?: string }): Promise<ElementHandle>
  • removed: method DOMWorld.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle>
  • removed: method DOMWorld.click(selector: string, options: { delay?: number; button?: MouseButton; clickCount?: number }): Promise<void>
  • removed: method DOMWorld.content(): Promise<string>
  • removed: method DOMWorld.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>
  • removed: method DOMWorld.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>
  • removed: method DOMWorld.executionContext(): Promise<ExecutionContext>
  • removed: method DOMWorld.focus(selector: string): Promise<void>
  • removed: method DOMWorld.frame(): Frame
  • removed: method DOMWorld.hover(selector: string): Promise<void>
  • removed: method DOMWorld.select(selector: string, ...values: string[]): Promise<string[]>
  • removed: method DOMWorld.setContent(html: string, options?: { timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[] }): Promise<void>
  • removed: method DOMWorld.tap(selector: string): Promise<void>
  • removed: method DOMWorld.title(): Promise<string>
  • removed: method DOMWorld.type(selector: string, text: string, options?: { delay: number }): Promise<void>
  • removed: method DOMWorld.waitForFunction(pageFunction: Function | string, options?: { polling?: string | number; timeout?: number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle>
  • removed: method DOMWorld.waitForSelector(selector: string, options: WaitForSelectorOptions): Promise<ElementHandle | null>
  • removed: method DOMWorld.waitForXPath(xpath: string, options: WaitForSelectorOptions): Promise<ElementHandle | null>
  • removed: method ExecutionContext._adoptBackendNodeId(backendNodeId?: Protocol.DOM.BackendNodeId): Promise<ElementHandle>
  • removed: method ExecutionContext._adoptElementHandle(elementHandle: ElementHandle): Promise<ElementHandle>
  • removed: method Frame._client(): CDPSession
  • removed: method Frame._detach(): void
  • removed: method Frame._navigated(framePayload: Protocol.Page.Frame): void
  • removed: method Frame._navigatedWithinDocument(url: string): void
  • removed: method Frame._onLifecycleEvent(loaderId: string, name: string): void
  • removed: method Frame._onLoadingStarted(): void
  • removed: method Frame._onLoadingStopped(): void
  • removed: method Frame._updateClient(client: CDPSession): void
  • removed: method Frame.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: Record<string, unknown>, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • removed: method FrameManager._ensureIsolatedWorld(session: CDPSession, name: string): Promise<void>
  • removed: method FrameManager.executionContextById(contextId: number, session?: CDPSession): ExecutionContext
  • removed: method FrameManager.frame(frameId: string): Frame | null
  • removed: method FrameManager.frames(): Frame[]
  • removed: method FrameManager.initialize(client?: CDPSession): Promise<void>
  • removed: method FrameManager.mainFrame(): Frame
  • removed: method FrameManager.navigateFrame(frame: Frame, url: string, options?: { referer?: string; timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[] }): Promise<HTTPResponse | null>
  • removed: method FrameManager.networkManager(): NetworkManager
  • removed: method FrameManager.page(): Page
  • removed: method FrameManager.waitForFrameNavigation(frame: Frame, options?: { timeout?: number; waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[] }): Promise<HTTPResponse | null>
  • removed: method HTTPResponse._resolveBody(err: Error | null): void
  • removed: method LifecycleWatcher.dispose(): void
  • removed: method LifecycleWatcher.lifecyclePromise(): Promise<void>
  • removed: method LifecycleWatcher.navigationResponse(): Promise<HTTPResponse | null>
  • removed: method LifecycleWatcher.newDocumentNavigationPromise(): Promise<Error | undefined>
  • removed: method LifecycleWatcher.sameDocumentNavigationPromise(): Promise<Error | undefined>
  • removed: method LifecycleWatcher.timeoutOrTerminationPromise(): Promise<Error | TimeoutError | undefined>
  • removed: method NetworkManager.authenticate(credentials?: Credentials): Promise<void>
  • removed: method NetworkManager.emulateNetworkConditions(networkConditions: NetworkConditions | null): Promise<void>
  • removed: method NetworkManager.extraHTTPHeaders(): Record<string, string>
  • removed: method NetworkManager.initialize(): Promise<void>
  • removed: method NetworkManager.numRequestsInProgress(): number
  • removed: method NetworkManager.setCacheEnabled(enabled: boolean): Promise<void>
  • removed: method NetworkManager.setExtraHTTPHeaders(extraHTTPHeaders: Record<string, string>): Promise<void>
  • removed: method NetworkManager.setOfflineMode(value: boolean): Promise<void>
  • removed: method NetworkManager.setRequestInterception(value: boolean): Promise<void>
  • removed: method NetworkManager.setUserAgent(userAgent: string, userAgentMetadata?: Protocol.Emulation.UserAgentMetadata): Promise<void>
  • removed: method Page._client(): CDPSession
  • removed: method Page.waitFor(selectorOrFunctionOrTimeout: string | number | Function, options?: { visible?: boolean; hidden?: boolean; timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle | null>
  • removed: method Target._getTargetInfo(): Protocol.Target.TargetInfo
  • removed: method Target._targetInfoChanged(targetInfo: Protocol.Target.TargetInfo): void
  • removed: method TimeoutSettings.navigationTimeout(): number
  • removed: method TimeoutSettings.setDefaultNavigationTimeout(timeout: number): void
  • removed: method TimeoutSettings.setDefaultTimeout(timeout: number): void
  • removed: method TimeoutSettings.timeout(): number
  • removed: method WaitTask.rerun(): Promise<void>
  • removed: method WaitTask.terminate(error: Error): void
  • removed: property BrowserConnectOptions._isPageTarget?: IsPageTargetCallback
  • removed: property CommonPuppeteerSettings.isPuppeteerCore: boolean
  • removed: property ConnectionCallback.reject: Function
  • removed: property ConnectionCallback.resolve: Function
  • removed: property ExecutionContext._client: CDPSession
  • removed: property ExecutionContext._contextId: number
  • removed: property ExecutionContext._contextName: string
  • removed: property ExecutionContext._world?: DOMWorld
  • removed: property Frame._childFrames: Set<Frame>
  • removed: property Frame._frameManager: FrameManager
  • removed: property Frame._hasStartedLoading: boolean
  • removed: property Frame._id: string
  • removed: property Frame._lifecycleEvents: Set<string>
  • removed: property Frame._loaderId: string
  • removed: property Frame._mainWorld: DOMWorld
  • removed: property Frame._name?: string
  • removed: property Frame._secondaryWorld: DOMWorld
  • removed: property HTTPRequest._failureText: string | null
  • removed: property HTTPRequest._fromMemoryCache: boolean
  • removed: property HTTPRequest._interceptionId: string | undefined
  • removed: property HTTPRequest._redirectChain: HTTPRequest[]
  • removed: property HTTPRequest._requestId: string
  • removed: property HTTPRequest._response: HTTPResponse | null
  • removed: property InternalQueryHandler.queryAll?: (element: ElementHandle, selector: string) => Promise<ElementHandle[]>
  • removed: property InternalQueryHandler.queryAllArray?: (element: ElementHandle, selector: string) => Promise<JSHandle<Element[]>>
  • removed: property InternalQueryHandler.queryOne?: (element: ElementHandle, selector: string) => Promise<ElementHandle | null>
  • removed: property InternalQueryHandler.waitFor?: (domWorld: DOMWorld, selector: string, options: WaitForSelectorOptions) => Promise<ElementHandle | null>
  • removed: property KeyDefinition.code?: string
  • removed: property KeyDefinition.key?: string
  • removed: property KeyDefinition.keyCode?: number
  • removed: property KeyDefinition.location?: number
  • removed: property KeyDefinition.shiftKey?: string
  • removed: property KeyDefinition.shiftKeyCode?: number
  • removed: property KeyDefinition.shiftText?: string
  • removed: property KeyDefinition.text?: string
  • removed: property Keyboard._modifiers: number
  • removed: property PageBinding.name: string
  • removed: property PageBinding.pptrFunction: Function
  • removed: property PaperFormatDimensions.height: number
  • removed: property PaperFormatDimensions.width: number
  • removed: property PuppeteerEventListener.emitter: CommonEventEmitter
  • removed: property PuppeteerEventListener.eventName: string | symbol
  • removed: property PuppeteerEventListener.handler: (...args: any[]) => void
  • removed: property Target._closedCallback: () => void
  • removed: property Target._initializedCallback: (x: boolean) => void
  • removed: property Target._initializedPromise: Promise<boolean>
  • removed: property Target._isClosedPromise: Promise<void>
  • removed: property Target._isInitialized: boolean
  • removed: property Target._isPageTargetCallback: IsPageTargetCallback
  • removed: property Target._targetId: string
  • removed: property WaitTask.promise: Promise<JSHandle>
  • removed: property WaitTaskOptions.args: SerializableOrJSHandle[]
  • removed: property WaitTaskOptions.binding?: PageBinding
  • removed: property WaitTaskOptions.domWorld: DOMWorld
  • removed: property WaitTaskOptions.polling: string | number
  • removed: property WaitTaskOptions.predicateAcceptsContextElement: boolean
  • removed: property WaitTaskOptions.predicateBody: Function | string
  • removed: property WaitTaskOptions.root?: ElementHandle
  • removed: property WaitTaskOptions.timeout: number
  • removed: property WaitTaskOptions.title: string
  • removed: set PuppeteerNode._productName(name: Product | undefined)
  • removed: static method Browser._create(connection: Connection, contextIds: string[], ignoreHTTPSErrors: boolean, defaultViewport?: Viewport | null, process?: ChildProcess, closeCallback?: BrowserCloseCallback, targetFilterCallback?: TargetFilterCallback, isPageTargetCallback?: IsPageTargetCallback): Promise<Browser>
  • removed: static method Page._create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<Page>
  • removed: type BrowserCloseCallback = () => Promise<void> | void
  • removed: type ConsoleAPICalledCallback = (eventType: ConsoleMessageType, handles: JSHandle[], trace: Protocol.Runtime.StackTrace) => void
  • removed: type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V)
  • removed: type EvaluateFnReturnType<T extends EvaluateFn> = T extends (...args: any[]) => infer R ? R : any
  • removed: type EvaluateHandleFn = string | ((...args: any[]) => any)
  • removed: type ExceptionThrownCallback = (details: Protocol.Runtime.ExceptionDetails) => void
  • removed: type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean
  • removed: type JSONArray = readonly Serializable[]
  • removed: type PredefinedNetworkConditions = { [name: string]: NetworkConditions }
  • removed: type Serializable = number | string | boolean | null | bigint | JSONArray | JSONObject
  • removed: type SerializableOrJSHandle = Serializable | JSHandle
  • removed: type UnwrapElementHandle<X> = X extends ElementHandle<infer E> ? E : X
  • removed: type UnwrapPromiseLike<T> = T extends PromiseLike<infer U> ? U : T
  • removed: type WrapElementHandle<X> = X extends Element ? ElementHandle<X> : X
  • changed: class ElementHandle<ElementType extends Element = Element> extends JSHandle<ElementType> → class ElementHandle<ElementType extends Node = Element> extends JSHandle<ElementType>
  • changed: class JSHandle<HandleObjectType = unknown> → class JSHandle<T = unknown>
  • changed: function registerCustomQueryHandler(name: string, queryHandler: CustomQueryHandler): void → function registerCustomQueryHandler(name: string, handler: CustomQueryHandler): void
  • changed: get Puppeteer.devices(): DevicesMap → get Puppeteer.devices(): typeof devices
  • changed: get Puppeteer.errors(): PuppeteerErrors → get Puppeteer.errors(): typeof errors
  • changed: get Puppeteer.networkConditions(): PredefinedNetworkConditions → get Puppeteer.networkConditions(): typeof networkConditions
  • changed: method ElementHandle.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method ElementHandle.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method ElementHandle.$$eval<ReturnType>(selector: string, pageFunction: EvaluateFn<Element[], unknown, ReturnType | Promise<ReturnType>>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method ElementHandle.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method ElementHandle.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method ElementHandle.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method ElementHandle.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method ElementHandle.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method ElementHandle.$x(expression: string): Promise<ElementHandle[]> → method ElementHandle.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method ElementHandle.click(options?: ClickOptions): Promise<void> → method ElementHandle.click(this: ElementHandle<Element>, options?: ClickOptions): Promise<void>
  • changed: method ElementHandle.drag(target: Point): Promise<Protocol.Input.DragData> → method ElementHandle.drag(this: ElementHandle<Element>, target: Point): Promise<Protocol.Input.DragData>
  • changed: method ElementHandle.dragAndDrop(target: ElementHandle, options?: { delay: number }): Promise<void> → method ElementHandle.dragAndDrop(this: ElementHandle<Element>, target: ElementHandle<Node>, options?: { delay: number }): Promise<void>
  • changed: method ElementHandle.dragEnter(data?: Protocol.Input.DragData): Promise<void> → method ElementHandle.dragEnter(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • changed: method ElementHandle.dragOver(data?: Protocol.Input.DragData): Promise<void> → method ElementHandle.dragOver(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • changed: method ElementHandle.drop(data?: Protocol.Input.DragData): Promise<void> → method ElementHandle.drop(this: ElementHandle<Element>, data?: Protocol.Input.DragData): Promise<void>
  • changed: method ElementHandle.hover(): Promise<void> → method ElementHandle.hover(this: ElementHandle<Element>): Promise<void>
  • changed: method ElementHandle.isIntersectingViewport(options?: { threshold?: number }): Promise<boolean> → method ElementHandle.isIntersectingViewport(this: ElementHandle<Element>, options?: { threshold?: number }): Promise<boolean>
  • changed: method ElementHandle.screenshot(options?: ScreenshotOptions): Promise<string | Buffer> → method ElementHandle.screenshot(this: ElementHandle<Element>, options?: ScreenshotOptions): Promise<string | Buffer>
  • changed: method ElementHandle.tap(): Promise<void> → method ElementHandle.tap(this: ElementHandle<Element>): Promise<void>
  • changed: method ElementHandle.uploadFile(...filePaths: string[]): Promise<void> → method ElementHandle.uploadFile(this: ElementHandle<HTMLInputElement>, ...filePaths: string[]): Promise<void>
  • changed: method ElementHandle.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method ElementHandle.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method ElementHandle.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • changed: method ExecutionContext.evaluate<ReturnType>(pageFunction: Function | string, ...args: unknown[]): Promise<ReturnType> → method ExecutionContext.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method ExecutionContext.evaluateHandle<HandleType extends JSHandle | ElementHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method ExecutionContext.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method ExecutionContext.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method ExecutionContext.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<HandleFor<Prototype[]>>
  • changed: method Frame.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Frame.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Frame.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Frame.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Frame.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.$x(expression: string): Promise<ElementHandle[]> → method Frame.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle> → method Frame.addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle> → method Frame.addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<Node>>
  • changed: method Frame.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Frame.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Frame.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Frame.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForFunction(pageFunction: Function | string, options?: FrameWaitForFunctionOptions, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Frame.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: FrameWaitForFunctionOptions, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Frame.waitForSelector(selector: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForSelector<Selector extends string>(selector: Selector, options?: WaitForSelectorOptions): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle | null> → method Frame.waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>
  • changed: method JSHandle.asElement(): ElementHandle | null → method JSHandle.asElement(): ElementHandle<Node> | null
  • changed: method JSHandle.evaluate<T extends EvaluateFn<HandleObjectType>>(pageFunction: T | string, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method JSHandle.evaluate<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method JSHandle.evaluateHandle<HandleType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandleType> → method JSHandle.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<[this, ...Params]> = EvaluateFunc<[this, ...Params]>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method JSHandle.getProperty(propertyName: string): Promise<JSHandle> → method JSHandle.getProperty(propertyName: string): Promise<JSHandle<unknown>>
  • changed: method Page.$$<T extends Element = Element>(selector: string): Promise<Array<ElementHandle<T>>> → method Page.$$<Selector extends string>(selector: Selector): Promise<Array<ElementHandle<NodeFor<Selector>>>>
  • changed: method Page.$$eval<ReturnType>(selector: string, pageFunction: (elements: Element[], ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[Array<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$<T extends Element = Element>(selector: string): Promise<ElementHandle<T> | null> → method Page.$<Selector extends string>(selector: Selector): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.$eval<ReturnType>(selector: string, pageFunction: (element: Element, ...args: unknown[]) => ReturnType | Promise<ReturnType>, ...args: SerializableOrJSHandle[]): Promise<WrapElementHandle<ReturnType>> → method Page.$eval<Selector extends string, Params extends unknown[], Func extends EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]> = EvaluateFunc<[ElementHandle<NodeFor<Selector>>, ...Params]>>(selector: Selector, pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.$x(expression: string): Promise<ElementHandle[]> → method Page.$x(expression: string): Promise<Array<ElementHandle<Node>>>
  • changed: method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle> → method Page.addScriptTag(options: { url?: string; path?: string; content?: string; type?: string; id?: string }): Promise<ElementHandle<HTMLScriptElement>>
  • changed: method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle> → method Page.addStyleTag(options: { url?: string; path?: string; content?: string }): Promise<ElementHandle<Node>>
  • changed: method Page.evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>> → method Page.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method Page.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType> → method Page.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void> → method Page.evaluateOnNewDocument<Params extends unknown[], Func extends (...args: Params) => unknown = (...args: Params) => unknown>(pageFunction: Func | string, ...args: Params): Promise<void>
  • changed: method Page.exposeFunction(name: string, puppeteerFunction: Function | { default: Function }): Promise<void> → method Page.exposeFunction(name: string, pptrFunction: Function | { default: Function }): Promise<void>
  • changed: method Page.queryObjects(prototypeHandle: JSHandle): Promise<JSHandle> → method Page.queryObjects<Prototype>(prototypeHandle: JSHandle<Prototype>): Promise<JSHandle<Prototype[]>>
  • changed: method Page.waitForFunction(pageFunction: Function | string, options?: { timeout?: number; polling?: string | number }, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method Page.waitForFunction<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, options?: { timeout?: number; polling?: string | number }, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: method Page.waitForSelector(selector: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForSelector<Selector extends string>(selector: Selector, options?: Exclude<WaitForSelectorOptions, 'root'>): Promise<ElementHandle<NodeFor<Selector>> | null>
  • changed: method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle | null> → method Page.waitForXPath(xpath: string, options?: { visible?: boolean; hidden?: boolean; timeout?: number }): Promise<ElementHandle<Node> | null>
  • changed: method WebWorker.evaluate<ReturnType>(pageFunction: Function | string, ...args: any[]): Promise<ReturnType> → method WebWorker.evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>
  • changed: method WebWorker.evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<JSHandle> → method WebWorker.evaluateHandle<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<HandleFor<Awaited<ReturnType<Func>>>>
  • changed: property CustomQueryHandler.queryAll?: (element: Element | Document, selector: string) => Element[] | NodeListOf<Element> → property CustomQueryHandler.queryAll?: (element: Node, selector: string) => Node[]
  • changed: property CustomQueryHandler.queryOne?: (element: Element | Document, selector: string) => Element | null → property CustomQueryHandler.queryOne?: (element: Node, selector: string) => Node | null
  • changed: property SnapshotOptions.root?: ElementHandle → property SnapshotOptions.root?: ElementHandle<Node>
  • changed: property WaitForSelectorOptions.root?: ElementHandle → property WaitForSelectorOptions.root?: ElementHandle<Node>
  • added: const connect: (options: ConnectOptions) => Promise<Browser>
  • added: const createBrowserFetcher: (options: BrowserFetcherOptions) => BrowserFetcher
  • added: const defaultArgs: (options?: BrowserLaunchArgumentOptions) => string[]
  • added: const devices: DevicesMap
  • added: const errors: PuppeteerErrors
  • added: const executablePath: (channel?: string | undefined) => string
  • added: const launch: (options?: PuppeteerLaunchOptions) => Promise<Browser>
  • added: const networkConditions: Readonly<{ 'Slow 3G': NetworkConditions; 'Fast 3G': NetworkConditions }>
  • added: export { Protocol }
  • added: get HTTPRequest.client(): CDPSession_4
  • added: method ConnectionCallback.reject(args: unknown): void
  • added: method ConnectionCallback.resolve(args: unknown): void
  • added: method Frame.page(): Page
  • added: method JSHandle.getProperty<K extends keyof T>(propertyName: HandleOr<K>): Promise<HandleFor<T[K]>>
  • added: method JSHandle.remoteObject(): Protocol.Runtime.RemoteObject
  • added: property JSHandle[__JSHandleSymbol]?: T
  • added: property ScreenshotOptions.fromSurface?: boolean
  • added: type Awaitable<T> = T | PromiseLike<T>
  • added: type EvaluateFunc<T extends unknown[]> = (...params: InnerParams<T>) => Awaitable<unknown>
  • added: type FlattenHandle<T> = T extends HandleOr<infer U> ? U : never
  • added: type HandleFor<T> = T extends Node ? ElementHandle<T> : JSHandle<T>
  • added: type HandleOr<T> = HandleFor<T> | JSHandle<T> | T
  • added: type InnerParams<T extends unknown[]> = { [K in keyof T]: FlattenHandle<T[K]> }
  • added: type NodeFor<Selector extends string> = Selector extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[Selector] : Selector extends keyof SVGElementTagNameMap ? SVGElementTagNameMap[Selector] :…