/** * Copyright (c) Microsoft Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // This file is generated by generate_channels.js, do not edit manually. import { EventEmitter } from 'events'; export type Binary = string; export interface Channel extends EventEmitter { } export type StackFrame = { file: string, line?: number, column?: number, function?: string, }; export type Metadata = { stack?: StackFrame[], apiName?: string, internal?: boolean, }; export type Point = { x: number, y: number, }; export type Rect = { x: number, y: number, width: number, height: number, }; export type SerializedValue = { n?: number, b?: boolean, s?: string, v?: 'null' | 'undefined' | 'NaN' | 'Infinity' | '-Infinity' | '-0', d?: string, r?: { p: string, f: string, }, a?: SerializedValue[], o?: { k: string, v: SerializedValue, }[], h?: number, }; export type SerializedArgument = { value: SerializedValue, handles: Channel[], }; export type ExpectedTextValue = { string?: string, regexSource?: string, regexFlags?: string, matchSubstring?: boolean, normalizeWhiteSpace?: boolean, }; export type AXNode = { role: string, name: string, valueString?: string, valueNumber?: number, description?: string, keyshortcuts?: string, roledescription?: string, valuetext?: string, disabled?: boolean, expanded?: boolean, focused?: boolean, modal?: boolean, multiline?: boolean, multiselectable?: boolean, readonly?: boolean, required?: boolean, selected?: boolean, checked?: 'checked' | 'unchecked' | 'mixed', pressed?: 'pressed' | 'released' | 'mixed', level?: number, valuemin?: number, valuemax?: number, autocomplete?: string, haspopup?: string, invalid?: string, orientation?: string, children?: AXNode[], }; export type SetNetworkCookie = { name: string, value: string, url?: string, domain?: string, path?: string, expires?: number, httpOnly?: boolean, secure?: boolean, sameSite?: 'Strict' | 'Lax' | 'None', }; export type NetworkCookie = { name: string, value: string, domain: string, path: string, expires: number, httpOnly: boolean, secure: boolean, sameSite: 'Strict' | 'Lax' | 'None', }; export type NameValue = { name: string, value: string, }; export type OriginStorage = { origin: string, localStorage: NameValue[], }; export type SerializedError = { error?: { message: string, name: string, stack?: string, }, value?: SerializedValue, }; export type FormField = { name: string, value?: string, file?: { name: string, mimeType: string, buffer: Binary, }, }; export type InterceptedResponse = { request: RequestChannel, status: number, statusText: string, headers: NameValue[], }; // ----------- FetchRequest ----------- export type FetchRequestInitializer = {}; export interface FetchRequestChannel extends Channel { fetch(params: FetchRequestFetchParams, metadata?: Metadata): Promise; fetchResponseBody(params: FetchRequestFetchResponseBodyParams, metadata?: Metadata): Promise; storageState(params?: FetchRequestStorageStateParams, metadata?: Metadata): Promise; disposeFetchResponse(params: FetchRequestDisposeFetchResponseParams, metadata?: Metadata): Promise; dispose(params?: FetchRequestDisposeParams, metadata?: Metadata): Promise; } export type FetchRequestFetchParams = { url: string, params?: NameValue[], method?: string, headers?: NameValue[], postData?: Binary, jsonData?: any, formData?: NameValue[], multipartData?: FormField[], timeout?: number, failOnStatusCode?: boolean, ignoreHTTPSErrors?: boolean, }; export type FetchRequestFetchOptions = { params?: NameValue[], method?: string, headers?: NameValue[], postData?: Binary, jsonData?: any, formData?: NameValue[], multipartData?: FormField[], timeout?: number, failOnStatusCode?: boolean, ignoreHTTPSErrors?: boolean, }; export type FetchRequestFetchResult = { response?: FetchResponse, error?: string, }; export type FetchRequestFetchResponseBodyParams = { fetchUid: string, }; export type FetchRequestFetchResponseBodyOptions = { }; export type FetchRequestFetchResponseBodyResult = { binary?: Binary, }; export type FetchRequestStorageStateParams = {}; export type FetchRequestStorageStateOptions = {}; export type FetchRequestStorageStateResult = { cookies: NetworkCookie[], origins: OriginStorage[], }; export type FetchRequestDisposeFetchResponseParams = { fetchUid: string, }; export type FetchRequestDisposeFetchResponseOptions = { }; export type FetchRequestDisposeFetchResponseResult = void; export type FetchRequestDisposeParams = {}; export type FetchRequestDisposeOptions = {}; export type FetchRequestDisposeResult = void; export interface FetchRequestEvents { } export type FetchResponse = { fetchUid: string, url: string, status: number, statusText: string, headers: NameValue[], }; export type LifecycleEvent = 'load' | 'domcontentloaded' | 'networkidle' | 'commit'; // ----------- Root ----------- export type RootInitializer = {}; export interface RootChannel extends Channel { initialize(params: RootInitializeParams, metadata?: Metadata): Promise; } export type RootInitializeParams = { sdkLanguage: string, }; export type RootInitializeOptions = { }; export type RootInitializeResult = { playwright: PlaywrightChannel, }; export interface RootEvents { } // ----------- Playwright ----------- export type PlaywrightInitializer = { chromium: BrowserTypeChannel, firefox: BrowserTypeChannel, webkit: BrowserTypeChannel, android: AndroidChannel, electron: ElectronChannel, deviceDescriptors: { name: string, descriptor: { userAgent: string, viewport: { width: number, height: number, }, screen?: { width: number, height: number, }, deviceScaleFactor: number, isMobile: boolean, hasTouch: boolean, defaultBrowserType: 'chromium' | 'firefox' | 'webkit', }, }[], selectors: SelectorsChannel, preLaunchedBrowser?: BrowserChannel, }; export interface PlaywrightChannel extends Channel { on(event: 'socksRequested', callback: (params: PlaywrightSocksRequestedEvent) => void): this; on(event: 'socksData', callback: (params: PlaywrightSocksDataEvent) => void): this; on(event: 'socksClosed', callback: (params: PlaywrightSocksClosedEvent) => void): this; socksConnected(params: PlaywrightSocksConnectedParams, metadata?: Metadata): Promise; socksFailed(params: PlaywrightSocksFailedParams, metadata?: Metadata): Promise; socksData(params: PlaywrightSocksDataParams, metadata?: Metadata): Promise; socksError(params: PlaywrightSocksErrorParams, metadata?: Metadata): Promise; socksEnd(params: PlaywrightSocksEndParams, metadata?: Metadata): Promise; newRequest(params: PlaywrightNewRequestParams, metadata?: Metadata): Promise; } export type PlaywrightSocksRequestedEvent = { uid: string, host: string, port: number, }; export type PlaywrightSocksDataEvent = { uid: string, data: Binary, }; export type PlaywrightSocksClosedEvent = { uid: string, }; export type PlaywrightSocksConnectedParams = { uid: string, host: string, port: number, }; export type PlaywrightSocksConnectedOptions = { }; export type PlaywrightSocksConnectedResult = void; export type PlaywrightSocksFailedParams = { uid: string, errorCode: string, }; export type PlaywrightSocksFailedOptions = { }; export type PlaywrightSocksFailedResult = void; export type PlaywrightSocksDataParams = { uid: string, data: Binary, }; export type PlaywrightSocksDataOptions = { }; export type PlaywrightSocksDataResult = void; export type PlaywrightSocksErrorParams = { uid: string, error: string, }; export type PlaywrightSocksErrorOptions = { }; export type PlaywrightSocksErrorResult = void; export type PlaywrightSocksEndParams = { uid: string, }; export type PlaywrightSocksEndOptions = { }; export type PlaywrightSocksEndResult = void; export type PlaywrightNewRequestParams = { baseURL?: string, userAgent?: string, ignoreHTTPSErrors?: boolean, extraHTTPHeaders?: NameValue[], httpCredentials?: { username: string, password: string, }, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, timeout?: number, storageState?: { cookies: NetworkCookie[], origins: OriginStorage[], }, }; export type PlaywrightNewRequestOptions = { baseURL?: string, userAgent?: string, ignoreHTTPSErrors?: boolean, extraHTTPHeaders?: NameValue[], httpCredentials?: { username: string, password: string, }, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, timeout?: number, storageState?: { cookies: NetworkCookie[], origins: OriginStorage[], }, }; export type PlaywrightNewRequestResult = { request: FetchRequestChannel, }; export interface PlaywrightEvents { 'socksRequested': PlaywrightSocksRequestedEvent; 'socksData': PlaywrightSocksDataEvent; 'socksClosed': PlaywrightSocksClosedEvent; } // ----------- Selectors ----------- export type SelectorsInitializer = {}; export interface SelectorsChannel extends Channel { register(params: SelectorsRegisterParams, metadata?: Metadata): Promise; } export type SelectorsRegisterParams = { name: string, source: string, contentScript?: boolean, }; export type SelectorsRegisterOptions = { contentScript?: boolean, }; export type SelectorsRegisterResult = void; export interface SelectorsEvents { } // ----------- BrowserType ----------- export type BrowserTypeInitializer = { executablePath: string, name: string, }; export interface BrowserTypeChannel extends Channel { connect(params: BrowserTypeConnectParams, metadata?: Metadata): Promise; launch(params: BrowserTypeLaunchParams, metadata?: Metadata): Promise; launchPersistentContext(params: BrowserTypeLaunchPersistentContextParams, metadata?: Metadata): Promise; connectOverCDP(params: BrowserTypeConnectOverCDPParams, metadata?: Metadata): Promise; } export type BrowserTypeConnectParams = { wsEndpoint: string, headers?: any, slowMo?: number, timeout?: number, }; export type BrowserTypeConnectOptions = { headers?: any, slowMo?: number, timeout?: number, }; export type BrowserTypeConnectResult = { pipe: JsonPipeChannel, }; export type BrowserTypeLaunchParams = { channel?: string, executablePath?: string, args?: string[], ignoreAllDefaultArgs?: boolean, ignoreDefaultArgs?: string[], handleSIGINT?: boolean, handleSIGTERM?: boolean, handleSIGHUP?: boolean, timeout?: number, env?: NameValue[], headless?: boolean, devtools?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, downloadsPath?: string, tracesDir?: string, chromiumSandbox?: boolean, firefoxUserPrefs?: any, slowMo?: number, }; export type BrowserTypeLaunchOptions = { channel?: string, executablePath?: string, args?: string[], ignoreAllDefaultArgs?: boolean, ignoreDefaultArgs?: string[], handleSIGINT?: boolean, handleSIGTERM?: boolean, handleSIGHUP?: boolean, timeout?: number, env?: NameValue[], headless?: boolean, devtools?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, downloadsPath?: string, tracesDir?: string, chromiumSandbox?: boolean, firefoxUserPrefs?: any, slowMo?: number, }; export type BrowserTypeLaunchResult = { browser: BrowserChannel, }; export type BrowserTypeLaunchPersistentContextParams = { channel?: string, executablePath?: string, args?: string[], ignoreAllDefaultArgs?: boolean, ignoreDefaultArgs?: string[], handleSIGINT?: boolean, handleSIGTERM?: boolean, handleSIGHUP?: boolean, timeout?: number, env?: NameValue[], headless?: boolean, devtools?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, downloadsPath?: string, tracesDir?: string, chromiumSandbox?: boolean, noDefaultViewport?: boolean, viewport?: { width: number, height: number, }, screen?: { width: number, height: number, }, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, baseURL?: string, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, userDataDir: string, slowMo?: number, }; export type BrowserTypeLaunchPersistentContextOptions = { channel?: string, executablePath?: string, args?: string[], ignoreAllDefaultArgs?: boolean, ignoreDefaultArgs?: string[], handleSIGINT?: boolean, handleSIGTERM?: boolean, handleSIGHUP?: boolean, timeout?: number, env?: NameValue[], headless?: boolean, devtools?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, downloadsPath?: string, tracesDir?: string, chromiumSandbox?: boolean, noDefaultViewport?: boolean, viewport?: { width: number, height: number, }, screen?: { width: number, height: number, }, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, baseURL?: string, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, slowMo?: number, }; export type BrowserTypeLaunchPersistentContextResult = { context: BrowserContextChannel, }; export type BrowserTypeConnectOverCDPParams = { endpointURL: string, headers?: NameValue[], slowMo?: number, timeout?: number, }; export type BrowserTypeConnectOverCDPOptions = { headers?: NameValue[], slowMo?: number, timeout?: number, }; export type BrowserTypeConnectOverCDPResult = { browser: BrowserChannel, defaultContext?: BrowserContextChannel, }; export interface BrowserTypeEvents { } // ----------- Browser ----------- export type BrowserInitializer = { version: string, name: string, }; export interface BrowserChannel extends Channel { on(event: 'close', callback: (params: BrowserCloseEvent) => void): this; close(params?: BrowserCloseParams, metadata?: Metadata): Promise; killForTests(params?: BrowserKillForTestsParams, metadata?: Metadata): Promise; newContext(params: BrowserNewContextParams, metadata?: Metadata): Promise; newBrowserCDPSession(params?: BrowserNewBrowserCDPSessionParams, metadata?: Metadata): Promise; startTracing(params: BrowserStartTracingParams, metadata?: Metadata): Promise; stopTracing(params?: BrowserStopTracingParams, metadata?: Metadata): Promise; } export type BrowserCloseEvent = {}; export type BrowserCloseParams = {}; export type BrowserCloseOptions = {}; export type BrowserCloseResult = void; export type BrowserKillForTestsParams = {}; export type BrowserKillForTestsOptions = {}; export type BrowserKillForTestsResult = void; export type BrowserNewContextParams = { noDefaultViewport?: boolean, viewport?: { width: number, height: number, }, screen?: { width: number, height: number, }, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, baseURL?: string, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, storageState?: { cookies?: SetNetworkCookie[], origins?: OriginStorage[], }, }; export type BrowserNewContextOptions = { noDefaultViewport?: boolean, viewport?: { width: number, height: number, }, screen?: { width: number, height: number, }, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, baseURL?: string, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, storageState?: { cookies?: SetNetworkCookie[], origins?: OriginStorage[], }, }; export type BrowserNewContextResult = { context: BrowserContextChannel, }; export type BrowserNewBrowserCDPSessionParams = {}; export type BrowserNewBrowserCDPSessionOptions = {}; export type BrowserNewBrowserCDPSessionResult = { session: CDPSessionChannel, }; export type BrowserStartTracingParams = { page?: PageChannel, path?: string, screenshots?: boolean, categories?: string[], }; export type BrowserStartTracingOptions = { page?: PageChannel, path?: string, screenshots?: boolean, categories?: string[], }; export type BrowserStartTracingResult = void; export type BrowserStopTracingParams = {}; export type BrowserStopTracingOptions = {}; export type BrowserStopTracingResult = { binary: Binary, }; export interface BrowserEvents { 'close': BrowserCloseEvent; } // ----------- EventTarget ----------- export type EventTargetInitializer = {}; export interface EventTargetChannel extends Channel { waitForEventInfo(params: EventTargetWaitForEventInfoParams, metadata?: Metadata): Promise; } export type EventTargetWaitForEventInfoParams = { info: { waitId: string, phase: 'before' | 'after' | 'log', event?: string, message?: string, error?: string, }, }; export type EventTargetWaitForEventInfoOptions = { }; export type EventTargetWaitForEventInfoResult = void; export interface EventTargetEvents { } // ----------- BrowserContext ----------- export type BrowserContextInitializer = { isChromium: boolean, fetchRequest: FetchRequestChannel, }; export interface BrowserContextChannel extends EventTargetChannel { on(event: 'bindingCall', callback: (params: BrowserContextBindingCallEvent) => void): this; on(event: 'close', callback: (params: BrowserContextCloseEvent) => void): this; on(event: 'page', callback: (params: BrowserContextPageEvent) => void): this; on(event: 'route', callback: (params: BrowserContextRouteEvent) => void): this; on(event: 'video', callback: (params: BrowserContextVideoEvent) => void): this; on(event: 'backgroundPage', callback: (params: BrowserContextBackgroundPageEvent) => void): this; on(event: 'serviceWorker', callback: (params: BrowserContextServiceWorkerEvent) => void): this; on(event: 'request', callback: (params: BrowserContextRequestEvent) => void): this; on(event: 'requestFailed', callback: (params: BrowserContextRequestFailedEvent) => void): this; on(event: 'requestFinished', callback: (params: BrowserContextRequestFinishedEvent) => void): this; on(event: 'response', callback: (params: BrowserContextResponseEvent) => void): this; addCookies(params: BrowserContextAddCookiesParams, metadata?: Metadata): Promise; addInitScript(params: BrowserContextAddInitScriptParams, metadata?: Metadata): Promise; clearCookies(params?: BrowserContextClearCookiesParams, metadata?: Metadata): Promise; clearPermissions(params?: BrowserContextClearPermissionsParams, metadata?: Metadata): Promise; close(params?: BrowserContextCloseParams, metadata?: Metadata): Promise; cookies(params: BrowserContextCookiesParams, metadata?: Metadata): Promise; exposeBinding(params: BrowserContextExposeBindingParams, metadata?: Metadata): Promise; grantPermissions(params: BrowserContextGrantPermissionsParams, metadata?: Metadata): Promise; newPage(params?: BrowserContextNewPageParams, metadata?: Metadata): Promise; setDefaultNavigationTimeoutNoReply(params: BrowserContextSetDefaultNavigationTimeoutNoReplyParams, metadata?: Metadata): Promise; setDefaultTimeoutNoReply(params: BrowserContextSetDefaultTimeoutNoReplyParams, metadata?: Metadata): Promise; setExtraHTTPHeaders(params: BrowserContextSetExtraHTTPHeadersParams, metadata?: Metadata): Promise; setGeolocation(params: BrowserContextSetGeolocationParams, metadata?: Metadata): Promise; setHTTPCredentials(params: BrowserContextSetHTTPCredentialsParams, metadata?: Metadata): Promise; setNetworkInterceptionEnabled(params: BrowserContextSetNetworkInterceptionEnabledParams, metadata?: Metadata): Promise; setOffline(params: BrowserContextSetOfflineParams, metadata?: Metadata): Promise; storageState(params?: BrowserContextStorageStateParams, metadata?: Metadata): Promise; pause(params?: BrowserContextPauseParams, metadata?: Metadata): Promise; recorderSupplementEnable(params: BrowserContextRecorderSupplementEnableParams, metadata?: Metadata): Promise; newCDPSession(params: BrowserContextNewCDPSessionParams, metadata?: Metadata): Promise; tracingStart(params: BrowserContextTracingStartParams, metadata?: Metadata): Promise; tracingStartChunk(params: BrowserContextTracingStartChunkParams, metadata?: Metadata): Promise; tracingStopChunk(params: BrowserContextTracingStopChunkParams, metadata?: Metadata): Promise; tracingStop(params?: BrowserContextTracingStopParams, metadata?: Metadata): Promise; harExport(params?: BrowserContextHarExportParams, metadata?: Metadata): Promise; } export type BrowserContextBindingCallEvent = { binding: BindingCallChannel, }; export type BrowserContextCloseEvent = {}; export type BrowserContextPageEvent = { page: PageChannel, }; export type BrowserContextRouteEvent = { route: RouteChannel, request: RequestChannel, }; export type BrowserContextVideoEvent = { artifact: ArtifactChannel, }; export type BrowserContextBackgroundPageEvent = { page: PageChannel, }; export type BrowserContextServiceWorkerEvent = { worker: WorkerChannel, }; export type BrowserContextRequestEvent = { request: RequestChannel, page?: PageChannel, }; export type BrowserContextRequestFailedEvent = { request: RequestChannel, failureText?: string, responseEndTiming: number, page?: PageChannel, }; export type BrowserContextRequestFinishedEvent = { request: RequestChannel, response?: ResponseChannel, responseEndTiming: number, page?: PageChannel, }; export type BrowserContextResponseEvent = { response: ResponseChannel, page?: PageChannel, }; export type BrowserContextAddCookiesParams = { cookies: SetNetworkCookie[], }; export type BrowserContextAddCookiesOptions = { }; export type BrowserContextAddCookiesResult = void; export type BrowserContextAddInitScriptParams = { source: string, }; export type BrowserContextAddInitScriptOptions = { }; export type BrowserContextAddInitScriptResult = void; export type BrowserContextClearCookiesParams = {}; export type BrowserContextClearCookiesOptions = {}; export type BrowserContextClearCookiesResult = void; export type BrowserContextClearPermissionsParams = {}; export type BrowserContextClearPermissionsOptions = {}; export type BrowserContextClearPermissionsResult = void; export type BrowserContextCloseParams = {}; export type BrowserContextCloseOptions = {}; export type BrowserContextCloseResult = void; export type BrowserContextCookiesParams = { urls: string[], }; export type BrowserContextCookiesOptions = { }; export type BrowserContextCookiesResult = { cookies: NetworkCookie[], }; export type BrowserContextExposeBindingParams = { name: string, needsHandle?: boolean, }; export type BrowserContextExposeBindingOptions = { needsHandle?: boolean, }; export type BrowserContextExposeBindingResult = void; export type BrowserContextGrantPermissionsParams = { permissions: string[], origin?: string, }; export type BrowserContextGrantPermissionsOptions = { origin?: string, }; export type BrowserContextGrantPermissionsResult = void; export type BrowserContextNewPageParams = {}; export type BrowserContextNewPageOptions = {}; export type BrowserContextNewPageResult = { page: PageChannel, }; export type BrowserContextSetDefaultNavigationTimeoutNoReplyParams = { timeout?: number, }; export type BrowserContextSetDefaultNavigationTimeoutNoReplyOptions = { timeout?: number, }; export type BrowserContextSetDefaultNavigationTimeoutNoReplyResult = void; export type BrowserContextSetDefaultTimeoutNoReplyParams = { timeout?: number, }; export type BrowserContextSetDefaultTimeoutNoReplyOptions = { timeout?: number, }; export type BrowserContextSetDefaultTimeoutNoReplyResult = void; export type BrowserContextSetExtraHTTPHeadersParams = { headers: NameValue[], }; export type BrowserContextSetExtraHTTPHeadersOptions = { }; export type BrowserContextSetExtraHTTPHeadersResult = void; export type BrowserContextSetGeolocationParams = { geolocation?: { longitude: number, latitude: number, accuracy?: number, }, }; export type BrowserContextSetGeolocationOptions = { geolocation?: { longitude: number, latitude: number, accuracy?: number, }, }; export type BrowserContextSetGeolocationResult = void; export type BrowserContextSetHTTPCredentialsParams = { httpCredentials?: { username: string, password: string, }, }; export type BrowserContextSetHTTPCredentialsOptions = { httpCredentials?: { username: string, password: string, }, }; export type BrowserContextSetHTTPCredentialsResult = void; export type BrowserContextSetNetworkInterceptionEnabledParams = { enabled: boolean, }; export type BrowserContextSetNetworkInterceptionEnabledOptions = { }; export type BrowserContextSetNetworkInterceptionEnabledResult = void; export type BrowserContextSetOfflineParams = { offline: boolean, }; export type BrowserContextSetOfflineOptions = { }; export type BrowserContextSetOfflineResult = void; export type BrowserContextStorageStateParams = {}; export type BrowserContextStorageStateOptions = {}; export type BrowserContextStorageStateResult = { cookies: NetworkCookie[], origins: OriginStorage[], }; export type BrowserContextPauseParams = {}; export type BrowserContextPauseOptions = {}; export type BrowserContextPauseResult = void; export type BrowserContextRecorderSupplementEnableParams = { language?: string, startRecording?: boolean, pauseOnNextStatement?: boolean, launchOptions?: any, contextOptions?: any, device?: string, saveStorage?: string, outputFile?: string, }; export type BrowserContextRecorderSupplementEnableOptions = { language?: string, startRecording?: boolean, pauseOnNextStatement?: boolean, launchOptions?: any, contextOptions?: any, device?: string, saveStorage?: string, outputFile?: string, }; export type BrowserContextRecorderSupplementEnableResult = void; export type BrowserContextNewCDPSessionParams = { page?: PageChannel, frame?: FrameChannel, }; export type BrowserContextNewCDPSessionOptions = { page?: PageChannel, frame?: FrameChannel, }; export type BrowserContextNewCDPSessionResult = { session: CDPSessionChannel, }; export type BrowserContextTracingStartParams = { name?: string, snapshots?: boolean, screenshots?: boolean, }; export type BrowserContextTracingStartOptions = { name?: string, snapshots?: boolean, screenshots?: boolean, }; export type BrowserContextTracingStartResult = void; export type BrowserContextTracingStartChunkParams = { title?: string, }; export type BrowserContextTracingStartChunkOptions = { title?: string, }; export type BrowserContextTracingStartChunkResult = void; export type BrowserContextTracingStopChunkParams = { save: boolean, skipCompress: boolean, }; export type BrowserContextTracingStopChunkOptions = { }; export type BrowserContextTracingStopChunkResult = { artifact?: ArtifactChannel, entries: NameValue[], }; export type BrowserContextTracingStopParams = {}; export type BrowserContextTracingStopOptions = {}; export type BrowserContextTracingStopResult = void; export type BrowserContextHarExportParams = {}; export type BrowserContextHarExportOptions = {}; export type BrowserContextHarExportResult = { artifact: ArtifactChannel, }; export interface BrowserContextEvents { 'bindingCall': BrowserContextBindingCallEvent; 'close': BrowserContextCloseEvent; 'page': BrowserContextPageEvent; 'route': BrowserContextRouteEvent; 'video': BrowserContextVideoEvent; 'backgroundPage': BrowserContextBackgroundPageEvent; 'serviceWorker': BrowserContextServiceWorkerEvent; 'request': BrowserContextRequestEvent; 'requestFailed': BrowserContextRequestFailedEvent; 'requestFinished': BrowserContextRequestFinishedEvent; 'response': BrowserContextResponseEvent; } // ----------- Page ----------- export type PageInitializer = { mainFrame: FrameChannel, viewportSize?: { width: number, height: number, }, isClosed: boolean, opener?: PageChannel, }; export interface PageChannel extends EventTargetChannel { on(event: 'bindingCall', callback: (params: PageBindingCallEvent) => void): this; on(event: 'close', callback: (params: PageCloseEvent) => void): this; on(event: 'console', callback: (params: PageConsoleEvent) => void): this; on(event: 'crash', callback: (params: PageCrashEvent) => void): this; on(event: 'dialog', callback: (params: PageDialogEvent) => void): this; on(event: 'download', callback: (params: PageDownloadEvent) => void): this; on(event: 'domcontentloaded', callback: (params: PageDomcontentloadedEvent) => void): this; on(event: 'fileChooser', callback: (params: PageFileChooserEvent) => void): this; on(event: 'frameAttached', callback: (params: PageFrameAttachedEvent) => void): this; on(event: 'frameDetached', callback: (params: PageFrameDetachedEvent) => void): this; on(event: 'load', callback: (params: PageLoadEvent) => void): this; on(event: 'pageError', callback: (params: PagePageErrorEvent) => void): this; on(event: 'route', callback: (params: PageRouteEvent) => void): this; on(event: 'video', callback: (params: PageVideoEvent) => void): this; on(event: 'webSocket', callback: (params: PageWebSocketEvent) => void): this; on(event: 'worker', callback: (params: PageWorkerEvent) => void): this; setDefaultNavigationTimeoutNoReply(params: PageSetDefaultNavigationTimeoutNoReplyParams, metadata?: Metadata): Promise; setDefaultTimeoutNoReply(params: PageSetDefaultTimeoutNoReplyParams, metadata?: Metadata): Promise; setFileChooserInterceptedNoReply(params: PageSetFileChooserInterceptedNoReplyParams, metadata?: Metadata): Promise; addInitScript(params: PageAddInitScriptParams, metadata?: Metadata): Promise; close(params: PageCloseParams, metadata?: Metadata): Promise; emulateMedia(params: PageEmulateMediaParams, metadata?: Metadata): Promise; exposeBinding(params: PageExposeBindingParams, metadata?: Metadata): Promise; goBack(params: PageGoBackParams, metadata?: Metadata): Promise; goForward(params: PageGoForwardParams, metadata?: Metadata): Promise; reload(params: PageReloadParams, metadata?: Metadata): Promise; screenshot(params: PageScreenshotParams, metadata?: Metadata): Promise; setExtraHTTPHeaders(params: PageSetExtraHTTPHeadersParams, metadata?: Metadata): Promise; setNetworkInterceptionEnabled(params: PageSetNetworkInterceptionEnabledParams, metadata?: Metadata): Promise; setViewportSize(params: PageSetViewportSizeParams, metadata?: Metadata): Promise; keyboardDown(params: PageKeyboardDownParams, metadata?: Metadata): Promise; keyboardUp(params: PageKeyboardUpParams, metadata?: Metadata): Promise; keyboardInsertText(params: PageKeyboardInsertTextParams, metadata?: Metadata): Promise; keyboardType(params: PageKeyboardTypeParams, metadata?: Metadata): Promise; keyboardPress(params: PageKeyboardPressParams, metadata?: Metadata): Promise; mouseMove(params: PageMouseMoveParams, metadata?: Metadata): Promise; mouseDown(params: PageMouseDownParams, metadata?: Metadata): Promise; mouseUp(params: PageMouseUpParams, metadata?: Metadata): Promise; mouseClick(params: PageMouseClickParams, metadata?: Metadata): Promise; mouseWheel(params: PageMouseWheelParams, metadata?: Metadata): Promise; touchscreenTap(params: PageTouchscreenTapParams, metadata?: Metadata): Promise; accessibilitySnapshot(params: PageAccessibilitySnapshotParams, metadata?: Metadata): Promise; pdf(params: PagePdfParams, metadata?: Metadata): Promise; startJSCoverage(params: PageStartJSCoverageParams, metadata?: Metadata): Promise; stopJSCoverage(params?: PageStopJSCoverageParams, metadata?: Metadata): Promise; startCSSCoverage(params: PageStartCSSCoverageParams, metadata?: Metadata): Promise; stopCSSCoverage(params?: PageStopCSSCoverageParams, metadata?: Metadata): Promise; bringToFront(params?: PageBringToFrontParams, metadata?: Metadata): Promise; } export type PageBindingCallEvent = { binding: BindingCallChannel, }; export type PageCloseEvent = {}; export type PageConsoleEvent = { message: ConsoleMessageChannel, }; export type PageCrashEvent = {}; export type PageDialogEvent = { dialog: DialogChannel, }; export type PageDownloadEvent = { url: string, suggestedFilename: string, artifact: ArtifactChannel, }; export type PageDomcontentloadedEvent = {}; export type PageFileChooserEvent = { element: ElementHandleChannel, isMultiple: boolean, }; export type PageFrameAttachedEvent = { frame: FrameChannel, }; export type PageFrameDetachedEvent = { frame: FrameChannel, }; export type PageLoadEvent = {}; export type PagePageErrorEvent = { error: SerializedError, }; export type PageRouteEvent = { route: RouteChannel, request: RequestChannel, }; export type PageVideoEvent = { artifact: ArtifactChannel, }; export type PageWebSocketEvent = { webSocket: WebSocketChannel, }; export type PageWorkerEvent = { worker: WorkerChannel, }; export type PageSetDefaultNavigationTimeoutNoReplyParams = { timeout?: number, }; export type PageSetDefaultNavigationTimeoutNoReplyOptions = { timeout?: number, }; export type PageSetDefaultNavigationTimeoutNoReplyResult = void; export type PageSetDefaultTimeoutNoReplyParams = { timeout?: number, }; export type PageSetDefaultTimeoutNoReplyOptions = { timeout?: number, }; export type PageSetDefaultTimeoutNoReplyResult = void; export type PageSetFileChooserInterceptedNoReplyParams = { intercepted: boolean, }; export type PageSetFileChooserInterceptedNoReplyOptions = { }; export type PageSetFileChooserInterceptedNoReplyResult = void; export type PageAddInitScriptParams = { source: string, }; export type PageAddInitScriptOptions = { }; export type PageAddInitScriptResult = void; export type PageCloseParams = { runBeforeUnload?: boolean, }; export type PageCloseOptions = { runBeforeUnload?: boolean, }; export type PageCloseResult = void; export type PageEmulateMediaParams = { media?: 'screen' | 'print' | 'null', colorScheme?: 'dark' | 'light' | 'no-preference' | 'null', reducedMotion?: 'reduce' | 'no-preference' | 'null', forcedColors?: 'active' | 'none' | 'null', }; export type PageEmulateMediaOptions = { media?: 'screen' | 'print' | 'null', colorScheme?: 'dark' | 'light' | 'no-preference' | 'null', reducedMotion?: 'reduce' | 'no-preference' | 'null', forcedColors?: 'active' | 'none' | 'null', }; export type PageEmulateMediaResult = void; export type PageExposeBindingParams = { name: string, needsHandle?: boolean, }; export type PageExposeBindingOptions = { needsHandle?: boolean, }; export type PageExposeBindingResult = void; export type PageGoBackParams = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageGoBackOptions = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageGoBackResult = { response?: ResponseChannel, }; export type PageGoForwardParams = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageGoForwardOptions = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageGoForwardResult = { response?: ResponseChannel, }; export type PageReloadParams = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageReloadOptions = { timeout?: number, waitUntil?: LifecycleEvent, }; export type PageReloadResult = { response?: ResponseChannel, }; export type PageScreenshotParams = { timeout?: number, type?: 'png' | 'jpeg', quality?: number, omitBackground?: boolean, fullPage?: boolean, clip?: Rect, }; export type PageScreenshotOptions = { timeout?: number, type?: 'png' | 'jpeg', quality?: number, omitBackground?: boolean, fullPage?: boolean, clip?: Rect, }; export type PageScreenshotResult = { binary: Binary, }; export type PageSetExtraHTTPHeadersParams = { headers: NameValue[], }; export type PageSetExtraHTTPHeadersOptions = { }; export type PageSetExtraHTTPHeadersResult = void; export type PageSetNetworkInterceptionEnabledParams = { enabled: boolean, }; export type PageSetNetworkInterceptionEnabledOptions = { }; export type PageSetNetworkInterceptionEnabledResult = void; export type PageSetViewportSizeParams = { viewportSize: { width: number, height: number, }, }; export type PageSetViewportSizeOptions = { }; export type PageSetViewportSizeResult = void; export type PageKeyboardDownParams = { key: string, }; export type PageKeyboardDownOptions = { }; export type PageKeyboardDownResult = void; export type PageKeyboardUpParams = { key: string, }; export type PageKeyboardUpOptions = { }; export type PageKeyboardUpResult = void; export type PageKeyboardInsertTextParams = { text: string, }; export type PageKeyboardInsertTextOptions = { }; export type PageKeyboardInsertTextResult = void; export type PageKeyboardTypeParams = { text: string, delay?: number, }; export type PageKeyboardTypeOptions = { delay?: number, }; export type PageKeyboardTypeResult = void; export type PageKeyboardPressParams = { key: string, delay?: number, }; export type PageKeyboardPressOptions = { delay?: number, }; export type PageKeyboardPressResult = void; export type PageMouseMoveParams = { x: number, y: number, steps?: number, }; export type PageMouseMoveOptions = { steps?: number, }; export type PageMouseMoveResult = void; export type PageMouseDownParams = { button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseDownOptions = { button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseDownResult = void; export type PageMouseUpParams = { button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseUpOptions = { button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseUpResult = void; export type PageMouseClickParams = { x: number, y: number, delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseClickOptions = { delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, }; export type PageMouseClickResult = void; export type PageMouseWheelParams = { deltaX: number, deltaY: number, }; export type PageMouseWheelOptions = { }; export type PageMouseWheelResult = void; export type PageTouchscreenTapParams = { x: number, y: number, }; export type PageTouchscreenTapOptions = { }; export type PageTouchscreenTapResult = void; export type PageAccessibilitySnapshotParams = { interestingOnly?: boolean, root?: ElementHandleChannel, }; export type PageAccessibilitySnapshotOptions = { interestingOnly?: boolean, root?: ElementHandleChannel, }; export type PageAccessibilitySnapshotResult = { rootAXNode?: AXNode, }; export type PagePdfParams = { scale?: number, displayHeaderFooter?: boolean, headerTemplate?: string, footerTemplate?: string, printBackground?: boolean, landscape?: boolean, pageRanges?: string, format?: string, width?: string, height?: string, preferCSSPageSize?: boolean, margin?: { top?: string, bottom?: string, left?: string, right?: string, }, }; export type PagePdfOptions = { scale?: number, displayHeaderFooter?: boolean, headerTemplate?: string, footerTemplate?: string, printBackground?: boolean, landscape?: boolean, pageRanges?: string, format?: string, width?: string, height?: string, preferCSSPageSize?: boolean, margin?: { top?: string, bottom?: string, left?: string, right?: string, }, }; export type PagePdfResult = { pdf: Binary, }; export type PageStartJSCoverageParams = { resetOnNavigation?: boolean, reportAnonymousScripts?: boolean, }; export type PageStartJSCoverageOptions = { resetOnNavigation?: boolean, reportAnonymousScripts?: boolean, }; export type PageStartJSCoverageResult = void; export type PageStopJSCoverageParams = {}; export type PageStopJSCoverageOptions = {}; export type PageStopJSCoverageResult = { entries: { url: string, scriptId: string, source?: string, functions: { functionName: string, isBlockCoverage: boolean, ranges: { startOffset: number, endOffset: number, count: number, }[], }[], }[], }; export type PageStartCSSCoverageParams = { resetOnNavigation?: boolean, }; export type PageStartCSSCoverageOptions = { resetOnNavigation?: boolean, }; export type PageStartCSSCoverageResult = void; export type PageStopCSSCoverageParams = {}; export type PageStopCSSCoverageOptions = {}; export type PageStopCSSCoverageResult = { entries: { url: string, text?: string, ranges: { start: number, end: number, }[], }[], }; export type PageBringToFrontParams = {}; export type PageBringToFrontOptions = {}; export type PageBringToFrontResult = void; export interface PageEvents { 'bindingCall': PageBindingCallEvent; 'close': PageCloseEvent; 'console': PageConsoleEvent; 'crash': PageCrashEvent; 'dialog': PageDialogEvent; 'download': PageDownloadEvent; 'domcontentloaded': PageDomcontentloadedEvent; 'fileChooser': PageFileChooserEvent; 'frameAttached': PageFrameAttachedEvent; 'frameDetached': PageFrameDetachedEvent; 'load': PageLoadEvent; 'pageError': PagePageErrorEvent; 'route': PageRouteEvent; 'video': PageVideoEvent; 'webSocket': PageWebSocketEvent; 'worker': PageWorkerEvent; } // ----------- Frame ----------- export type FrameInitializer = { url: string, name: string, parentFrame?: FrameChannel, loadStates: LifecycleEvent[], }; export interface FrameChannel extends Channel { on(event: 'loadstate', callback: (params: FrameLoadstateEvent) => void): this; on(event: 'navigated', callback: (params: FrameNavigatedEvent) => void): this; evalOnSelector(params: FrameEvalOnSelectorParams, metadata?: Metadata): Promise; evalOnSelectorAll(params: FrameEvalOnSelectorAllParams, metadata?: Metadata): Promise; addScriptTag(params: FrameAddScriptTagParams, metadata?: Metadata): Promise; addStyleTag(params: FrameAddStyleTagParams, metadata?: Metadata): Promise; check(params: FrameCheckParams, metadata?: Metadata): Promise; click(params: FrameClickParams, metadata?: Metadata): Promise; content(params?: FrameContentParams, metadata?: Metadata): Promise; dragAndDrop(params: FrameDragAndDropParams, metadata?: Metadata): Promise; dblclick(params: FrameDblclickParams, metadata?: Metadata): Promise; dispatchEvent(params: FrameDispatchEventParams, metadata?: Metadata): Promise; evaluateExpression(params: FrameEvaluateExpressionParams, metadata?: Metadata): Promise; evaluateExpressionHandle(params: FrameEvaluateExpressionHandleParams, metadata?: Metadata): Promise; fill(params: FrameFillParams, metadata?: Metadata): Promise; focus(params: FrameFocusParams, metadata?: Metadata): Promise; frameElement(params?: FrameFrameElementParams, metadata?: Metadata): Promise; getAttribute(params: FrameGetAttributeParams, metadata?: Metadata): Promise; goto(params: FrameGotoParams, metadata?: Metadata): Promise; hover(params: FrameHoverParams, metadata?: Metadata): Promise; innerHTML(params: FrameInnerHTMLParams, metadata?: Metadata): Promise; innerText(params: FrameInnerTextParams, metadata?: Metadata): Promise; inputValue(params: FrameInputValueParams, metadata?: Metadata): Promise; isChecked(params: FrameIsCheckedParams, metadata?: Metadata): Promise; isDisabled(params: FrameIsDisabledParams, metadata?: Metadata): Promise; isEnabled(params: FrameIsEnabledParams, metadata?: Metadata): Promise; isHidden(params: FrameIsHiddenParams, metadata?: Metadata): Promise; isVisible(params: FrameIsVisibleParams, metadata?: Metadata): Promise; isEditable(params: FrameIsEditableParams, metadata?: Metadata): Promise; press(params: FramePressParams, metadata?: Metadata): Promise; querySelector(params: FrameQuerySelectorParams, metadata?: Metadata): Promise; querySelectorAll(params: FrameQuerySelectorAllParams, metadata?: Metadata): Promise; selectOption(params: FrameSelectOptionParams, metadata?: Metadata): Promise; setContent(params: FrameSetContentParams, metadata?: Metadata): Promise; setInputFiles(params: FrameSetInputFilesParams, metadata?: Metadata): Promise; tap(params: FrameTapParams, metadata?: Metadata): Promise; textContent(params: FrameTextContentParams, metadata?: Metadata): Promise; title(params?: FrameTitleParams, metadata?: Metadata): Promise; type(params: FrameTypeParams, metadata?: Metadata): Promise; uncheck(params: FrameUncheckParams, metadata?: Metadata): Promise; waitForTimeout(params: FrameWaitForTimeoutParams, metadata?: Metadata): Promise; waitForFunction(params: FrameWaitForFunctionParams, metadata?: Metadata): Promise; waitForSelector(params: FrameWaitForSelectorParams, metadata?: Metadata): Promise; expect(params: FrameExpectParams, metadata?: Metadata): Promise; } export type FrameLoadstateEvent = { add?: LifecycleEvent, remove?: LifecycleEvent, }; export type FrameNavigatedEvent = { url: string, name: string, newDocument?: { request?: RequestChannel, }, error?: string, }; export type FrameEvalOnSelectorParams = { selector: string, strict?: boolean, expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type FrameEvalOnSelectorOptions = { strict?: boolean, isFunction?: boolean, }; export type FrameEvalOnSelectorResult = { value: SerializedValue, }; export type FrameEvalOnSelectorAllParams = { selector: string, expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type FrameEvalOnSelectorAllOptions = { isFunction?: boolean, }; export type FrameEvalOnSelectorAllResult = { value: SerializedValue, }; export type FrameAddScriptTagParams = { url?: string, content?: string, type?: string, }; export type FrameAddScriptTagOptions = { url?: string, content?: string, type?: string, }; export type FrameAddScriptTagResult = { element: ElementHandleChannel, }; export type FrameAddStyleTagParams = { url?: string, content?: string, }; export type FrameAddStyleTagOptions = { url?: string, content?: string, }; export type FrameAddStyleTagResult = { element: ElementHandleChannel, }; export type FrameCheckParams = { selector: string, strict?: boolean, force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type FrameCheckOptions = { strict?: boolean, force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type FrameCheckResult = void; export type FrameClickParams = { selector: string, strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, timeout?: number, trial?: boolean, }; export type FrameClickOptions = { strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, timeout?: number, trial?: boolean, }; export type FrameClickResult = void; export type FrameContentParams = {}; export type FrameContentOptions = {}; export type FrameContentResult = { value: string, }; export type FrameDragAndDropParams = { source: string, target: string, force?: boolean, noWaitAfter?: boolean, timeout?: number, trial?: boolean, sourcePosition?: Point, targetPosition?: Point, }; export type FrameDragAndDropOptions = { force?: boolean, noWaitAfter?: boolean, timeout?: number, trial?: boolean, sourcePosition?: Point, targetPosition?: Point, }; export type FrameDragAndDropResult = void; export type FrameDblclickParams = { selector: string, strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', timeout?: number, trial?: boolean, }; export type FrameDblclickOptions = { strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', timeout?: number, trial?: boolean, }; export type FrameDblclickResult = void; export type FrameDispatchEventParams = { selector: string, strict?: boolean, type: string, eventInit: SerializedArgument, timeout?: number, }; export type FrameDispatchEventOptions = { strict?: boolean, timeout?: number, }; export type FrameDispatchEventResult = void; export type FrameEvaluateExpressionParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type FrameEvaluateExpressionOptions = { isFunction?: boolean, }; export type FrameEvaluateExpressionResult = { value: SerializedValue, }; export type FrameEvaluateExpressionHandleParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type FrameEvaluateExpressionHandleOptions = { isFunction?: boolean, }; export type FrameEvaluateExpressionHandleResult = { handle: JSHandleChannel, }; export type FrameFillParams = { selector: string, strict?: boolean, value: string, force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type FrameFillOptions = { strict?: boolean, force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type FrameFillResult = void; export type FrameFocusParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameFocusOptions = { strict?: boolean, timeout?: number, }; export type FrameFocusResult = void; export type FrameFrameElementParams = {}; export type FrameFrameElementOptions = {}; export type FrameFrameElementResult = { element: ElementHandleChannel, }; export type FrameGetAttributeParams = { selector: string, strict?: boolean, name: string, timeout?: number, }; export type FrameGetAttributeOptions = { strict?: boolean, timeout?: number, }; export type FrameGetAttributeResult = { value?: string, }; export type FrameGotoParams = { url: string, timeout?: number, waitUntil?: LifecycleEvent, referer?: string, }; export type FrameGotoOptions = { timeout?: number, waitUntil?: LifecycleEvent, referer?: string, }; export type FrameGotoResult = { response?: ResponseChannel, }; export type FrameHoverParams = { selector: string, strict?: boolean, force?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type FrameHoverOptions = { strict?: boolean, force?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type FrameHoverResult = void; export type FrameInnerHTMLParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameInnerHTMLOptions = { strict?: boolean, timeout?: number, }; export type FrameInnerHTMLResult = { value: string, }; export type FrameInnerTextParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameInnerTextOptions = { strict?: boolean, timeout?: number, }; export type FrameInnerTextResult = { value: string, }; export type FrameInputValueParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameInputValueOptions = { strict?: boolean, timeout?: number, }; export type FrameInputValueResult = { value: string, }; export type FrameIsCheckedParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameIsCheckedOptions = { strict?: boolean, timeout?: number, }; export type FrameIsCheckedResult = { value: boolean, }; export type FrameIsDisabledParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameIsDisabledOptions = { strict?: boolean, timeout?: number, }; export type FrameIsDisabledResult = { value: boolean, }; export type FrameIsEnabledParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameIsEnabledOptions = { strict?: boolean, timeout?: number, }; export type FrameIsEnabledResult = { value: boolean, }; export type FrameIsHiddenParams = { selector: string, strict?: boolean, }; export type FrameIsHiddenOptions = { strict?: boolean, }; export type FrameIsHiddenResult = { value: boolean, }; export type FrameIsVisibleParams = { selector: string, strict?: boolean, }; export type FrameIsVisibleOptions = { strict?: boolean, }; export type FrameIsVisibleResult = { value: boolean, }; export type FrameIsEditableParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameIsEditableOptions = { strict?: boolean, timeout?: number, }; export type FrameIsEditableResult = { value: boolean, }; export type FramePressParams = { selector: string, strict?: boolean, key: string, delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type FramePressOptions = { strict?: boolean, delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type FramePressResult = void; export type FrameQuerySelectorParams = { selector: string, strict?: boolean, }; export type FrameQuerySelectorOptions = { strict?: boolean, }; export type FrameQuerySelectorResult = { element?: ElementHandleChannel, }; export type FrameQuerySelectorAllParams = { selector: string, }; export type FrameQuerySelectorAllOptions = { }; export type FrameQuerySelectorAllResult = { elements: ElementHandleChannel[], }; export type FrameSelectOptionParams = { selector: string, strict?: boolean, elements?: ElementHandleChannel[], options?: { value?: string, label?: string, index?: number, }[], force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type FrameSelectOptionOptions = { strict?: boolean, elements?: ElementHandleChannel[], options?: { value?: string, label?: string, index?: number, }[], force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type FrameSelectOptionResult = { values: string[], }; export type FrameSetContentParams = { html: string, timeout?: number, waitUntil?: LifecycleEvent, }; export type FrameSetContentOptions = { timeout?: number, waitUntil?: LifecycleEvent, }; export type FrameSetContentResult = void; export type FrameSetInputFilesParams = { selector: string, strict?: boolean, files: { name: string, mimeType?: string, buffer: Binary, }[], timeout?: number, noWaitAfter?: boolean, }; export type FrameSetInputFilesOptions = { strict?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type FrameSetInputFilesResult = void; export type FrameTapParams = { selector: string, strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type FrameTapOptions = { strict?: boolean, force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type FrameTapResult = void; export type FrameTextContentParams = { selector: string, strict?: boolean, timeout?: number, }; export type FrameTextContentOptions = { strict?: boolean, timeout?: number, }; export type FrameTextContentResult = { value?: string, }; export type FrameTitleParams = {}; export type FrameTitleOptions = {}; export type FrameTitleResult = { value: string, }; export type FrameTypeParams = { selector: string, strict?: boolean, text: string, delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type FrameTypeOptions = { strict?: boolean, delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type FrameTypeResult = void; export type FrameUncheckParams = { selector: string, strict?: boolean, force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type FrameUncheckOptions = { strict?: boolean, force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type FrameUncheckResult = void; export type FrameWaitForTimeoutParams = { timeout: number, }; export type FrameWaitForTimeoutOptions = { }; export type FrameWaitForTimeoutResult = void; export type FrameWaitForFunctionParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, timeout?: number, pollingInterval?: number, }; export type FrameWaitForFunctionOptions = { isFunction?: boolean, timeout?: number, pollingInterval?: number, }; export type FrameWaitForFunctionResult = { handle: JSHandleChannel, }; export type FrameWaitForSelectorParams = { selector: string, strict?: boolean, timeout?: number, state?: 'attached' | 'detached' | 'visible' | 'hidden', omitReturnValue?: boolean, }; export type FrameWaitForSelectorOptions = { strict?: boolean, timeout?: number, state?: 'attached' | 'detached' | 'visible' | 'hidden', omitReturnValue?: boolean, }; export type FrameWaitForSelectorResult = { element?: ElementHandleChannel, }; export type FrameExpectParams = { selector: string, expression: string, expressionArg?: any, expectedText?: ExpectedTextValue[], expectedNumber?: number, expectedValue?: SerializedArgument, useInnerText?: boolean, isNot: boolean, timeout?: number, }; export type FrameExpectOptions = { expressionArg?: any, expectedText?: ExpectedTextValue[], expectedNumber?: number, expectedValue?: SerializedArgument, useInnerText?: boolean, timeout?: number, }; export type FrameExpectResult = { matches: boolean, received?: SerializedValue, log?: string[], }; export interface FrameEvents { 'loadstate': FrameLoadstateEvent; 'navigated': FrameNavigatedEvent; } // ----------- Worker ----------- export type WorkerInitializer = { url: string, }; export interface WorkerChannel extends Channel { on(event: 'close', callback: (params: WorkerCloseEvent) => void): this; evaluateExpression(params: WorkerEvaluateExpressionParams, metadata?: Metadata): Promise; evaluateExpressionHandle(params: WorkerEvaluateExpressionHandleParams, metadata?: Metadata): Promise; } export type WorkerCloseEvent = {}; export type WorkerEvaluateExpressionParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type WorkerEvaluateExpressionOptions = { isFunction?: boolean, }; export type WorkerEvaluateExpressionResult = { value: SerializedValue, }; export type WorkerEvaluateExpressionHandleParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type WorkerEvaluateExpressionHandleOptions = { isFunction?: boolean, }; export type WorkerEvaluateExpressionHandleResult = { handle: JSHandleChannel, }; export interface WorkerEvents { 'close': WorkerCloseEvent; } // ----------- JSHandle ----------- export type JSHandleInitializer = { preview: string, }; export interface JSHandleChannel extends Channel { on(event: 'previewUpdated', callback: (params: JSHandlePreviewUpdatedEvent) => void): this; dispose(params?: JSHandleDisposeParams, metadata?: Metadata): Promise; evaluateExpression(params: JSHandleEvaluateExpressionParams, metadata?: Metadata): Promise; evaluateExpressionHandle(params: JSHandleEvaluateExpressionHandleParams, metadata?: Metadata): Promise; getPropertyList(params?: JSHandleGetPropertyListParams, metadata?: Metadata): Promise; getProperty(params: JSHandleGetPropertyParams, metadata?: Metadata): Promise; jsonValue(params?: JSHandleJsonValueParams, metadata?: Metadata): Promise; } export type JSHandlePreviewUpdatedEvent = { preview: string, }; export type JSHandleDisposeParams = {}; export type JSHandleDisposeOptions = {}; export type JSHandleDisposeResult = void; export type JSHandleEvaluateExpressionParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type JSHandleEvaluateExpressionOptions = { isFunction?: boolean, }; export type JSHandleEvaluateExpressionResult = { value: SerializedValue, }; export type JSHandleEvaluateExpressionHandleParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type JSHandleEvaluateExpressionHandleOptions = { isFunction?: boolean, }; export type JSHandleEvaluateExpressionHandleResult = { handle: JSHandleChannel, }; export type JSHandleGetPropertyListParams = {}; export type JSHandleGetPropertyListOptions = {}; export type JSHandleGetPropertyListResult = { properties: { name: string, value: JSHandleChannel, }[], }; export type JSHandleGetPropertyParams = { name: string, }; export type JSHandleGetPropertyOptions = { }; export type JSHandleGetPropertyResult = { handle: JSHandleChannel, }; export type JSHandleJsonValueParams = {}; export type JSHandleJsonValueOptions = {}; export type JSHandleJsonValueResult = { value: SerializedValue, }; export interface JSHandleEvents { 'previewUpdated': JSHandlePreviewUpdatedEvent; } // ----------- ElementHandle ----------- export type ElementHandleInitializer = {}; export interface ElementHandleChannel extends JSHandleChannel { evalOnSelector(params: ElementHandleEvalOnSelectorParams, metadata?: Metadata): Promise; evalOnSelectorAll(params: ElementHandleEvalOnSelectorAllParams, metadata?: Metadata): Promise; boundingBox(params?: ElementHandleBoundingBoxParams, metadata?: Metadata): Promise; check(params: ElementHandleCheckParams, metadata?: Metadata): Promise; click(params: ElementHandleClickParams, metadata?: Metadata): Promise; contentFrame(params?: ElementHandleContentFrameParams, metadata?: Metadata): Promise; dblclick(params: ElementHandleDblclickParams, metadata?: Metadata): Promise; dispatchEvent(params: ElementHandleDispatchEventParams, metadata?: Metadata): Promise; fill(params: ElementHandleFillParams, metadata?: Metadata): Promise; focus(params?: ElementHandleFocusParams, metadata?: Metadata): Promise; getAttribute(params: ElementHandleGetAttributeParams, metadata?: Metadata): Promise; hover(params: ElementHandleHoverParams, metadata?: Metadata): Promise; innerHTML(params?: ElementHandleInnerHTMLParams, metadata?: Metadata): Promise; innerText(params?: ElementHandleInnerTextParams, metadata?: Metadata): Promise; inputValue(params?: ElementHandleInputValueParams, metadata?: Metadata): Promise; isChecked(params?: ElementHandleIsCheckedParams, metadata?: Metadata): Promise; isDisabled(params?: ElementHandleIsDisabledParams, metadata?: Metadata): Promise; isEditable(params?: ElementHandleIsEditableParams, metadata?: Metadata): Promise; isEnabled(params?: ElementHandleIsEnabledParams, metadata?: Metadata): Promise; isHidden(params?: ElementHandleIsHiddenParams, metadata?: Metadata): Promise; isVisible(params?: ElementHandleIsVisibleParams, metadata?: Metadata): Promise; ownerFrame(params?: ElementHandleOwnerFrameParams, metadata?: Metadata): Promise; press(params: ElementHandlePressParams, metadata?: Metadata): Promise; querySelector(params: ElementHandleQuerySelectorParams, metadata?: Metadata): Promise; querySelectorAll(params: ElementHandleQuerySelectorAllParams, metadata?: Metadata): Promise; screenshot(params: ElementHandleScreenshotParams, metadata?: Metadata): Promise; scrollIntoViewIfNeeded(params: ElementHandleScrollIntoViewIfNeededParams, metadata?: Metadata): Promise; selectOption(params: ElementHandleSelectOptionParams, metadata?: Metadata): Promise; selectText(params: ElementHandleSelectTextParams, metadata?: Metadata): Promise; setInputFiles(params: ElementHandleSetInputFilesParams, metadata?: Metadata): Promise; tap(params: ElementHandleTapParams, metadata?: Metadata): Promise; textContent(params?: ElementHandleTextContentParams, metadata?: Metadata): Promise; type(params: ElementHandleTypeParams, metadata?: Metadata): Promise; uncheck(params: ElementHandleUncheckParams, metadata?: Metadata): Promise; waitForElementState(params: ElementHandleWaitForElementStateParams, metadata?: Metadata): Promise; waitForSelector(params: ElementHandleWaitForSelectorParams, metadata?: Metadata): Promise; } export type ElementHandleEvalOnSelectorParams = { selector: string, strict?: boolean, expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type ElementHandleEvalOnSelectorOptions = { strict?: boolean, isFunction?: boolean, }; export type ElementHandleEvalOnSelectorResult = { value: SerializedValue, }; export type ElementHandleEvalOnSelectorAllParams = { selector: string, expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type ElementHandleEvalOnSelectorAllOptions = { isFunction?: boolean, }; export type ElementHandleEvalOnSelectorAllResult = { value: SerializedValue, }; export type ElementHandleBoundingBoxParams = {}; export type ElementHandleBoundingBoxOptions = {}; export type ElementHandleBoundingBoxResult = { value?: Rect, }; export type ElementHandleCheckParams = { force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleCheckOptions = { force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleCheckResult = void; export type ElementHandleClickParams = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, timeout?: number, trial?: boolean, }; export type ElementHandleClickOptions = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', clickCount?: number, timeout?: number, trial?: boolean, }; export type ElementHandleClickResult = void; export type ElementHandleContentFrameParams = {}; export type ElementHandleContentFrameOptions = {}; export type ElementHandleContentFrameResult = { frame?: FrameChannel, }; export type ElementHandleDblclickParams = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', timeout?: number, trial?: boolean, }; export type ElementHandleDblclickOptions = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, delay?: number, button?: 'left' | 'right' | 'middle', timeout?: number, trial?: boolean, }; export type ElementHandleDblclickResult = void; export type ElementHandleDispatchEventParams = { type: string, eventInit: SerializedArgument, }; export type ElementHandleDispatchEventOptions = { }; export type ElementHandleDispatchEventResult = void; export type ElementHandleFillParams = { value: string, force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleFillOptions = { force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleFillResult = void; export type ElementHandleFocusParams = {}; export type ElementHandleFocusOptions = {}; export type ElementHandleFocusResult = void; export type ElementHandleGetAttributeParams = { name: string, }; export type ElementHandleGetAttributeOptions = { }; export type ElementHandleGetAttributeResult = { value?: string, }; export type ElementHandleHoverParams = { force?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleHoverOptions = { force?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleHoverResult = void; export type ElementHandleInnerHTMLParams = {}; export type ElementHandleInnerHTMLOptions = {}; export type ElementHandleInnerHTMLResult = { value: string, }; export type ElementHandleInnerTextParams = {}; export type ElementHandleInnerTextOptions = {}; export type ElementHandleInnerTextResult = { value: string, }; export type ElementHandleInputValueParams = {}; export type ElementHandleInputValueOptions = {}; export type ElementHandleInputValueResult = { value: string, }; export type ElementHandleIsCheckedParams = {}; export type ElementHandleIsCheckedOptions = {}; export type ElementHandleIsCheckedResult = { value: boolean, }; export type ElementHandleIsDisabledParams = {}; export type ElementHandleIsDisabledOptions = {}; export type ElementHandleIsDisabledResult = { value: boolean, }; export type ElementHandleIsEditableParams = {}; export type ElementHandleIsEditableOptions = {}; export type ElementHandleIsEditableResult = { value: boolean, }; export type ElementHandleIsEnabledParams = {}; export type ElementHandleIsEnabledOptions = {}; export type ElementHandleIsEnabledResult = { value: boolean, }; export type ElementHandleIsHiddenParams = {}; export type ElementHandleIsHiddenOptions = {}; export type ElementHandleIsHiddenResult = { value: boolean, }; export type ElementHandleIsVisibleParams = {}; export type ElementHandleIsVisibleOptions = {}; export type ElementHandleIsVisibleResult = { value: boolean, }; export type ElementHandleOwnerFrameParams = {}; export type ElementHandleOwnerFrameOptions = {}; export type ElementHandleOwnerFrameResult = { frame?: FrameChannel, }; export type ElementHandlePressParams = { key: string, delay?: number, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandlePressOptions = { delay?: number, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandlePressResult = void; export type ElementHandleQuerySelectorParams = { selector: string, strict?: boolean, }; export type ElementHandleQuerySelectorOptions = { strict?: boolean, }; export type ElementHandleQuerySelectorResult = { element?: ElementHandleChannel, }; export type ElementHandleQuerySelectorAllParams = { selector: string, }; export type ElementHandleQuerySelectorAllOptions = { }; export type ElementHandleQuerySelectorAllResult = { elements: ElementHandleChannel[], }; export type ElementHandleScreenshotParams = { timeout?: number, type?: 'png' | 'jpeg', quality?: number, omitBackground?: boolean, }; export type ElementHandleScreenshotOptions = { timeout?: number, type?: 'png' | 'jpeg', quality?: number, omitBackground?: boolean, }; export type ElementHandleScreenshotResult = { binary: Binary, }; export type ElementHandleScrollIntoViewIfNeededParams = { timeout?: number, }; export type ElementHandleScrollIntoViewIfNeededOptions = { timeout?: number, }; export type ElementHandleScrollIntoViewIfNeededResult = void; export type ElementHandleSelectOptionParams = { elements?: ElementHandleChannel[], options?: { value?: string, label?: string, index?: number, }[], force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleSelectOptionOptions = { elements?: ElementHandleChannel[], options?: { value?: string, label?: string, index?: number, }[], force?: boolean, timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleSelectOptionResult = { values: string[], }; export type ElementHandleSelectTextParams = { force?: boolean, timeout?: number, }; export type ElementHandleSelectTextOptions = { force?: boolean, timeout?: number, }; export type ElementHandleSelectTextResult = void; export type ElementHandleSetInputFilesParams = { files: { name: string, mimeType?: string, buffer: Binary, }[], timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleSetInputFilesOptions = { timeout?: number, noWaitAfter?: boolean, }; export type ElementHandleSetInputFilesResult = void; export type ElementHandleTapParams = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleTapOptions = { force?: boolean, noWaitAfter?: boolean, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[], position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleTapResult = void; export type ElementHandleTextContentParams = {}; export type ElementHandleTextContentOptions = {}; export type ElementHandleTextContentResult = { value?: string, }; export type ElementHandleTypeParams = { text: string, delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type ElementHandleTypeOptions = { delay?: number, noWaitAfter?: boolean, timeout?: number, }; export type ElementHandleTypeResult = void; export type ElementHandleUncheckParams = { force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleUncheckOptions = { force?: boolean, noWaitAfter?: boolean, position?: Point, timeout?: number, trial?: boolean, }; export type ElementHandleUncheckResult = void; export type ElementHandleWaitForElementStateParams = { state: 'visible' | 'hidden' | 'stable' | 'enabled' | 'disabled' | 'editable', timeout?: number, }; export type ElementHandleWaitForElementStateOptions = { timeout?: number, }; export type ElementHandleWaitForElementStateResult = void; export type ElementHandleWaitForSelectorParams = { selector: string, strict?: boolean, timeout?: number, state?: 'attached' | 'detached' | 'visible' | 'hidden', }; export type ElementHandleWaitForSelectorOptions = { strict?: boolean, timeout?: number, state?: 'attached' | 'detached' | 'visible' | 'hidden', }; export type ElementHandleWaitForSelectorResult = { element?: ElementHandleChannel, }; export interface ElementHandleEvents { } // ----------- Request ----------- export type RequestInitializer = { frame: FrameChannel, url: string, resourceType: string, method: string, postData?: Binary, headers: NameValue[], isNavigationRequest: boolean, redirectedFrom?: RequestChannel, }; export interface RequestChannel extends Channel { response(params?: RequestResponseParams, metadata?: Metadata): Promise; rawRequestHeaders(params?: RequestRawRequestHeadersParams, metadata?: Metadata): Promise; } export type RequestResponseParams = {}; export type RequestResponseOptions = {}; export type RequestResponseResult = { response?: ResponseChannel, }; export type RequestRawRequestHeadersParams = {}; export type RequestRawRequestHeadersOptions = {}; export type RequestRawRequestHeadersResult = { headers: NameValue[], }; export interface RequestEvents { } // ----------- Route ----------- export type RouteInitializer = { request: RequestChannel, }; export interface RouteChannel extends Channel { abort(params: RouteAbortParams, metadata?: Metadata): Promise; continue(params: RouteContinueParams, metadata?: Metadata): Promise; fulfill(params: RouteFulfillParams, metadata?: Metadata): Promise; responseBody(params?: RouteResponseBodyParams, metadata?: Metadata): Promise; } export type RouteAbortParams = { errorCode?: string, }; export type RouteAbortOptions = { errorCode?: string, }; export type RouteAbortResult = void; export type RouteContinueParams = { url?: string, method?: string, headers?: NameValue[], postData?: Binary, interceptResponse?: boolean, }; export type RouteContinueOptions = { url?: string, method?: string, headers?: NameValue[], postData?: Binary, interceptResponse?: boolean, }; export type RouteContinueResult = { response?: InterceptedResponse, }; export type RouteFulfillParams = { status?: number, headers?: NameValue[], body?: string, isBase64?: boolean, useInterceptedResponseBody?: boolean, fetchResponseUid?: string, }; export type RouteFulfillOptions = { status?: number, headers?: NameValue[], body?: string, isBase64?: boolean, useInterceptedResponseBody?: boolean, fetchResponseUid?: string, }; export type RouteFulfillResult = void; export type RouteResponseBodyParams = {}; export type RouteResponseBodyOptions = {}; export type RouteResponseBodyResult = { binary: Binary, }; export interface RouteEvents { } export type ResourceTiming = { startTime: number, domainLookupStart: number, domainLookupEnd: number, connectStart: number, secureConnectionStart: number, connectEnd: number, requestStart: number, responseStart: number, }; // ----------- Response ----------- export type ResponseInitializer = { request: RequestChannel, url: string, status: number, statusText: string, headers: NameValue[], timing: ResourceTiming, }; export interface ResponseChannel extends Channel { body(params?: ResponseBodyParams, metadata?: Metadata): Promise; securityDetails(params?: ResponseSecurityDetailsParams, metadata?: Metadata): Promise; serverAddr(params?: ResponseServerAddrParams, metadata?: Metadata): Promise; rawResponseHeaders(params?: ResponseRawResponseHeadersParams, metadata?: Metadata): Promise; sizes(params?: ResponseSizesParams, metadata?: Metadata): Promise; } export type ResponseBodyParams = {}; export type ResponseBodyOptions = {}; export type ResponseBodyResult = { binary: Binary, }; export type ResponseSecurityDetailsParams = {}; export type ResponseSecurityDetailsOptions = {}; export type ResponseSecurityDetailsResult = { value?: SecurityDetails, }; export type ResponseServerAddrParams = {}; export type ResponseServerAddrOptions = {}; export type ResponseServerAddrResult = { value?: RemoteAddr, }; export type ResponseRawResponseHeadersParams = {}; export type ResponseRawResponseHeadersOptions = {}; export type ResponseRawResponseHeadersResult = { headers: NameValue[], }; export type ResponseSizesParams = {}; export type ResponseSizesOptions = {}; export type ResponseSizesResult = { sizes: RequestSizes, }; export interface ResponseEvents { } export type SecurityDetails = { issuer?: string, protocol?: string, subjectName?: string, validFrom?: number, validTo?: number, }; export type RequestSizes = { requestBodySize: number, requestHeadersSize: number, responseBodySize: number, responseHeadersSize: number, }; export type RemoteAddr = { ipAddress: string, port: number, }; // ----------- WebSocket ----------- export type WebSocketInitializer = { url: string, }; export interface WebSocketChannel extends EventTargetChannel { on(event: 'open', callback: (params: WebSocketOpenEvent) => void): this; on(event: 'frameSent', callback: (params: WebSocketFrameSentEvent) => void): this; on(event: 'frameReceived', callback: (params: WebSocketFrameReceivedEvent) => void): this; on(event: 'socketError', callback: (params: WebSocketSocketErrorEvent) => void): this; on(event: 'close', callback: (params: WebSocketCloseEvent) => void): this; } export type WebSocketOpenEvent = {}; export type WebSocketFrameSentEvent = { opcode: number, data: string, }; export type WebSocketFrameReceivedEvent = { opcode: number, data: string, }; export type WebSocketSocketErrorEvent = { error: string, }; export type WebSocketCloseEvent = {}; export interface WebSocketEvents { 'open': WebSocketOpenEvent; 'frameSent': WebSocketFrameSentEvent; 'frameReceived': WebSocketFrameReceivedEvent; 'socketError': WebSocketSocketErrorEvent; 'close': WebSocketCloseEvent; } // ----------- ConsoleMessage ----------- export type ConsoleMessageInitializer = { type: string, text: string, args: JSHandleChannel[], location: { url: string, lineNumber: number, columnNumber: number, }, }; export interface ConsoleMessageChannel extends Channel { } export interface ConsoleMessageEvents { } // ----------- BindingCall ----------- export type BindingCallInitializer = { frame: FrameChannel, name: string, args?: SerializedValue[], handle?: JSHandleChannel, }; export interface BindingCallChannel extends Channel { reject(params: BindingCallRejectParams, metadata?: Metadata): Promise; resolve(params: BindingCallResolveParams, metadata?: Metadata): Promise; } export type BindingCallRejectParams = { error: SerializedError, }; export type BindingCallRejectOptions = { }; export type BindingCallRejectResult = void; export type BindingCallResolveParams = { result: SerializedArgument, }; export type BindingCallResolveOptions = { }; export type BindingCallResolveResult = void; export interface BindingCallEvents { } // ----------- Dialog ----------- export type DialogInitializer = { type: string, message: string, defaultValue: string, }; export interface DialogChannel extends Channel { accept(params: DialogAcceptParams, metadata?: Metadata): Promise; dismiss(params?: DialogDismissParams, metadata?: Metadata): Promise; } export type DialogAcceptParams = { promptText?: string, }; export type DialogAcceptOptions = { promptText?: string, }; export type DialogAcceptResult = void; export type DialogDismissParams = {}; export type DialogDismissOptions = {}; export type DialogDismissResult = void; export interface DialogEvents { } // ----------- Artifact ----------- export type ArtifactInitializer = { absolutePath: string, }; export interface ArtifactChannel extends Channel { pathAfterFinished(params?: ArtifactPathAfterFinishedParams, metadata?: Metadata): Promise; saveAs(params: ArtifactSaveAsParams, metadata?: Metadata): Promise; saveAsStream(params?: ArtifactSaveAsStreamParams, metadata?: Metadata): Promise; failure(params?: ArtifactFailureParams, metadata?: Metadata): Promise; stream(params?: ArtifactStreamParams, metadata?: Metadata): Promise; cancel(params?: ArtifactCancelParams, metadata?: Metadata): Promise; delete(params?: ArtifactDeleteParams, metadata?: Metadata): Promise; } export type ArtifactPathAfterFinishedParams = {}; export type ArtifactPathAfterFinishedOptions = {}; export type ArtifactPathAfterFinishedResult = { value?: string, }; export type ArtifactSaveAsParams = { path: string, }; export type ArtifactSaveAsOptions = { }; export type ArtifactSaveAsResult = void; export type ArtifactSaveAsStreamParams = {}; export type ArtifactSaveAsStreamOptions = {}; export type ArtifactSaveAsStreamResult = { stream: StreamChannel, }; export type ArtifactFailureParams = {}; export type ArtifactFailureOptions = {}; export type ArtifactFailureResult = { error?: string, }; export type ArtifactStreamParams = {}; export type ArtifactStreamOptions = {}; export type ArtifactStreamResult = { stream?: StreamChannel, }; export type ArtifactCancelParams = {}; export type ArtifactCancelOptions = {}; export type ArtifactCancelResult = void; export type ArtifactDeleteParams = {}; export type ArtifactDeleteOptions = {}; export type ArtifactDeleteResult = void; export interface ArtifactEvents { } // ----------- Stream ----------- export type StreamInitializer = {}; export interface StreamChannel extends Channel { read(params: StreamReadParams, metadata?: Metadata): Promise; close(params?: StreamCloseParams, metadata?: Metadata): Promise; } export type StreamReadParams = { size?: number, }; export type StreamReadOptions = { size?: number, }; export type StreamReadResult = { binary: Binary, }; export type StreamCloseParams = {}; export type StreamCloseOptions = {}; export type StreamCloseResult = void; export interface StreamEvents { } // ----------- CDPSession ----------- export type CDPSessionInitializer = {}; export interface CDPSessionChannel extends Channel { on(event: 'event', callback: (params: CDPSessionEventEvent) => void): this; send(params: CDPSessionSendParams, metadata?: Metadata): Promise; detach(params?: CDPSessionDetachParams, metadata?: Metadata): Promise; } export type CDPSessionEventEvent = { method: string, params?: any, }; export type CDPSessionSendParams = { method: string, params?: any, }; export type CDPSessionSendOptions = { params?: any, }; export type CDPSessionSendResult = { result: any, }; export type CDPSessionDetachParams = {}; export type CDPSessionDetachOptions = {}; export type CDPSessionDetachResult = void; export interface CDPSessionEvents { 'event': CDPSessionEventEvent; } // ----------- Electron ----------- export type ElectronInitializer = {}; export interface ElectronChannel extends Channel { launch(params: ElectronLaunchParams, metadata?: Metadata): Promise; } export type ElectronLaunchParams = { executablePath?: string, args?: string[], cwd?: string, env?: NameValue[], timeout?: number, acceptDownloads?: boolean, bypassCSP?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', extraHTTPHeaders?: NameValue[], geolocation?: { longitude: number, latitude: number, accuracy?: number, }, httpCredentials?: { username: string, password: string, }, ignoreHTTPSErrors?: boolean, locale?: string, offline?: boolean, recordHar?: { omitContent?: boolean, path: string, }, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, strictSelectors?: boolean, timezoneId?: string, }; export type ElectronLaunchOptions = { executablePath?: string, args?: string[], cwd?: string, env?: NameValue[], timeout?: number, acceptDownloads?: boolean, bypassCSP?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', extraHTTPHeaders?: NameValue[], geolocation?: { longitude: number, latitude: number, accuracy?: number, }, httpCredentials?: { username: string, password: string, }, ignoreHTTPSErrors?: boolean, locale?: string, offline?: boolean, recordHar?: { omitContent?: boolean, path: string, }, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, strictSelectors?: boolean, timezoneId?: string, }; export type ElectronLaunchResult = { electronApplication: ElectronApplicationChannel, }; export interface ElectronEvents { } // ----------- ElectronApplication ----------- export type ElectronApplicationInitializer = { context: BrowserContextChannel, }; export interface ElectronApplicationChannel extends EventTargetChannel { on(event: 'close', callback: (params: ElectronApplicationCloseEvent) => void): this; browserWindow(params: ElectronApplicationBrowserWindowParams, metadata?: Metadata): Promise; evaluateExpression(params: ElectronApplicationEvaluateExpressionParams, metadata?: Metadata): Promise; evaluateExpressionHandle(params: ElectronApplicationEvaluateExpressionHandleParams, metadata?: Metadata): Promise; close(params?: ElectronApplicationCloseParams, metadata?: Metadata): Promise; } export type ElectronApplicationCloseEvent = {}; export type ElectronApplicationBrowserWindowParams = { page: PageChannel, }; export type ElectronApplicationBrowserWindowOptions = { }; export type ElectronApplicationBrowserWindowResult = { handle: JSHandleChannel, }; export type ElectronApplicationEvaluateExpressionParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type ElectronApplicationEvaluateExpressionOptions = { isFunction?: boolean, }; export type ElectronApplicationEvaluateExpressionResult = { value: SerializedValue, }; export type ElectronApplicationEvaluateExpressionHandleParams = { expression: string, isFunction?: boolean, arg: SerializedArgument, }; export type ElectronApplicationEvaluateExpressionHandleOptions = { isFunction?: boolean, }; export type ElectronApplicationEvaluateExpressionHandleResult = { handle: JSHandleChannel, }; export type ElectronApplicationCloseParams = {}; export type ElectronApplicationCloseOptions = {}; export type ElectronApplicationCloseResult = void; export interface ElectronApplicationEvents { 'close': ElectronApplicationCloseEvent; } // ----------- Android ----------- export type AndroidInitializer = {}; export interface AndroidChannel extends Channel { devices(params?: AndroidDevicesParams, metadata?: Metadata): Promise; setDefaultTimeoutNoReply(params: AndroidSetDefaultTimeoutNoReplyParams, metadata?: Metadata): Promise; } export type AndroidDevicesParams = {}; export type AndroidDevicesOptions = {}; export type AndroidDevicesResult = { devices: AndroidDeviceChannel[], }; export type AndroidSetDefaultTimeoutNoReplyParams = { timeout: number, }; export type AndroidSetDefaultTimeoutNoReplyOptions = { }; export type AndroidSetDefaultTimeoutNoReplyResult = void; export interface AndroidEvents { } // ----------- AndroidSocket ----------- export type AndroidSocketInitializer = {}; export interface AndroidSocketChannel extends Channel { on(event: 'data', callback: (params: AndroidSocketDataEvent) => void): this; on(event: 'close', callback: (params: AndroidSocketCloseEvent) => void): this; write(params: AndroidSocketWriteParams, metadata?: Metadata): Promise; close(params?: AndroidSocketCloseParams, metadata?: Metadata): Promise; } export type AndroidSocketDataEvent = { data: Binary, }; export type AndroidSocketCloseEvent = {}; export type AndroidSocketWriteParams = { data: Binary, }; export type AndroidSocketWriteOptions = { }; export type AndroidSocketWriteResult = void; export type AndroidSocketCloseParams = {}; export type AndroidSocketCloseOptions = {}; export type AndroidSocketCloseResult = void; export interface AndroidSocketEvents { 'data': AndroidSocketDataEvent; 'close': AndroidSocketCloseEvent; } // ----------- AndroidDevice ----------- export type AndroidDeviceInitializer = { model: string, serial: string, }; export interface AndroidDeviceChannel extends EventTargetChannel { on(event: 'webViewAdded', callback: (params: AndroidDeviceWebViewAddedEvent) => void): this; on(event: 'webViewRemoved', callback: (params: AndroidDeviceWebViewRemovedEvent) => void): this; wait(params: AndroidDeviceWaitParams, metadata?: Metadata): Promise; fill(params: AndroidDeviceFillParams, metadata?: Metadata): Promise; tap(params: AndroidDeviceTapParams, metadata?: Metadata): Promise; drag(params: AndroidDeviceDragParams, metadata?: Metadata): Promise; fling(params: AndroidDeviceFlingParams, metadata?: Metadata): Promise; longTap(params: AndroidDeviceLongTapParams, metadata?: Metadata): Promise; pinchClose(params: AndroidDevicePinchCloseParams, metadata?: Metadata): Promise; pinchOpen(params: AndroidDevicePinchOpenParams, metadata?: Metadata): Promise; scroll(params: AndroidDeviceScrollParams, metadata?: Metadata): Promise; swipe(params: AndroidDeviceSwipeParams, metadata?: Metadata): Promise; info(params: AndroidDeviceInfoParams, metadata?: Metadata): Promise; screenshot(params?: AndroidDeviceScreenshotParams, metadata?: Metadata): Promise; inputType(params: AndroidDeviceInputTypeParams, metadata?: Metadata): Promise; inputPress(params: AndroidDeviceInputPressParams, metadata?: Metadata): Promise; inputTap(params: AndroidDeviceInputTapParams, metadata?: Metadata): Promise; inputSwipe(params: AndroidDeviceInputSwipeParams, metadata?: Metadata): Promise; inputDrag(params: AndroidDeviceInputDragParams, metadata?: Metadata): Promise; launchBrowser(params: AndroidDeviceLaunchBrowserParams, metadata?: Metadata): Promise; open(params: AndroidDeviceOpenParams, metadata?: Metadata): Promise; shell(params: AndroidDeviceShellParams, metadata?: Metadata): Promise; installApk(params: AndroidDeviceInstallApkParams, metadata?: Metadata): Promise; push(params: AndroidDevicePushParams, metadata?: Metadata): Promise; setDefaultTimeoutNoReply(params: AndroidDeviceSetDefaultTimeoutNoReplyParams, metadata?: Metadata): Promise; connectToWebView(params: AndroidDeviceConnectToWebViewParams, metadata?: Metadata): Promise; close(params?: AndroidDeviceCloseParams, metadata?: Metadata): Promise; } export type AndroidDeviceWebViewAddedEvent = { webView: AndroidWebView, }; export type AndroidDeviceWebViewRemovedEvent = { pid: number, }; export type AndroidDeviceWaitParams = { selector: AndroidSelector, state?: 'gone', timeout?: number, }; export type AndroidDeviceWaitOptions = { state?: 'gone', timeout?: number, }; export type AndroidDeviceWaitResult = void; export type AndroidDeviceFillParams = { selector: AndroidSelector, text: string, timeout?: number, }; export type AndroidDeviceFillOptions = { timeout?: number, }; export type AndroidDeviceFillResult = void; export type AndroidDeviceTapParams = { selector: AndroidSelector, duration?: number, timeout?: number, }; export type AndroidDeviceTapOptions = { duration?: number, timeout?: number, }; export type AndroidDeviceTapResult = void; export type AndroidDeviceDragParams = { selector: AndroidSelector, dest: Point, speed?: number, timeout?: number, }; export type AndroidDeviceDragOptions = { speed?: number, timeout?: number, }; export type AndroidDeviceDragResult = void; export type AndroidDeviceFlingParams = { selector: AndroidSelector, direction: 'up' | 'down' | 'left' | 'right', speed?: number, timeout?: number, }; export type AndroidDeviceFlingOptions = { speed?: number, timeout?: number, }; export type AndroidDeviceFlingResult = void; export type AndroidDeviceLongTapParams = { selector: AndroidSelector, timeout?: number, }; export type AndroidDeviceLongTapOptions = { timeout?: number, }; export type AndroidDeviceLongTapResult = void; export type AndroidDevicePinchCloseParams = { selector: AndroidSelector, percent: number, speed?: number, timeout?: number, }; export type AndroidDevicePinchCloseOptions = { speed?: number, timeout?: number, }; export type AndroidDevicePinchCloseResult = void; export type AndroidDevicePinchOpenParams = { selector: AndroidSelector, percent: number, speed?: number, timeout?: number, }; export type AndroidDevicePinchOpenOptions = { speed?: number, timeout?: number, }; export type AndroidDevicePinchOpenResult = void; export type AndroidDeviceScrollParams = { selector: AndroidSelector, direction: 'up' | 'down' | 'left' | 'right', percent: number, speed?: number, timeout?: number, }; export type AndroidDeviceScrollOptions = { speed?: number, timeout?: number, }; export type AndroidDeviceScrollResult = void; export type AndroidDeviceSwipeParams = { selector: AndroidSelector, direction: 'up' | 'down' | 'left' | 'right', percent: number, speed?: number, timeout?: number, }; export type AndroidDeviceSwipeOptions = { speed?: number, timeout?: number, }; export type AndroidDeviceSwipeResult = void; export type AndroidDeviceInfoParams = { selector: AndroidSelector, }; export type AndroidDeviceInfoOptions = { }; export type AndroidDeviceInfoResult = { info: AndroidElementInfo, }; export type AndroidDeviceScreenshotParams = {}; export type AndroidDeviceScreenshotOptions = {}; export type AndroidDeviceScreenshotResult = { binary: Binary, }; export type AndroidDeviceInputTypeParams = { text: string, }; export type AndroidDeviceInputTypeOptions = { }; export type AndroidDeviceInputTypeResult = void; export type AndroidDeviceInputPressParams = { key: string, }; export type AndroidDeviceInputPressOptions = { }; export type AndroidDeviceInputPressResult = void; export type AndroidDeviceInputTapParams = { point: Point, }; export type AndroidDeviceInputTapOptions = { }; export type AndroidDeviceInputTapResult = void; export type AndroidDeviceInputSwipeParams = { segments: Point[], steps: number, }; export type AndroidDeviceInputSwipeOptions = { }; export type AndroidDeviceInputSwipeResult = void; export type AndroidDeviceInputDragParams = { from: Point, to: Point, steps: number, }; export type AndroidDeviceInputDragOptions = { }; export type AndroidDeviceInputDragResult = void; export type AndroidDeviceLaunchBrowserParams = { pkg?: string, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, }; export type AndroidDeviceLaunchBrowserOptions = { pkg?: string, ignoreHTTPSErrors?: boolean, javaScriptEnabled?: boolean, bypassCSP?: boolean, userAgent?: string, locale?: string, timezoneId?: string, geolocation?: { longitude: number, latitude: number, accuracy?: number, }, permissions?: string[], extraHTTPHeaders?: NameValue[], offline?: boolean, httpCredentials?: { username: string, password: string, }, deviceScaleFactor?: number, isMobile?: boolean, hasTouch?: boolean, colorScheme?: 'dark' | 'light' | 'no-preference', reducedMotion?: 'reduce' | 'no-preference', forcedColors?: 'active' | 'none', acceptDownloads?: boolean, recordVideo?: { dir: string, size?: { width: number, height: number, }, }, recordHar?: { omitContent?: boolean, path: string, }, strictSelectors?: boolean, proxy?: { server: string, bypass?: string, username?: string, password?: string, }, }; export type AndroidDeviceLaunchBrowserResult = { context: BrowserContextChannel, }; export type AndroidDeviceOpenParams = { command: string, }; export type AndroidDeviceOpenOptions = { }; export type AndroidDeviceOpenResult = { socket: AndroidSocketChannel, }; export type AndroidDeviceShellParams = { command: string, }; export type AndroidDeviceShellOptions = { }; export type AndroidDeviceShellResult = { result: Binary, }; export type AndroidDeviceInstallApkParams = { file: Binary, args?: string[], }; export type AndroidDeviceInstallApkOptions = { args?: string[], }; export type AndroidDeviceInstallApkResult = void; export type AndroidDevicePushParams = { file: Binary, path: string, mode?: number, }; export type AndroidDevicePushOptions = { mode?: number, }; export type AndroidDevicePushResult = void; export type AndroidDeviceSetDefaultTimeoutNoReplyParams = { timeout: number, }; export type AndroidDeviceSetDefaultTimeoutNoReplyOptions = { }; export type AndroidDeviceSetDefaultTimeoutNoReplyResult = void; export type AndroidDeviceConnectToWebViewParams = { pid: number, }; export type AndroidDeviceConnectToWebViewOptions = { }; export type AndroidDeviceConnectToWebViewResult = { context: BrowserContextChannel, }; export type AndroidDeviceCloseParams = {}; export type AndroidDeviceCloseOptions = {}; export type AndroidDeviceCloseResult = void; export interface AndroidDeviceEvents { 'webViewAdded': AndroidDeviceWebViewAddedEvent; 'webViewRemoved': AndroidDeviceWebViewRemovedEvent; } export type AndroidWebView = { pid: number, pkg: string, }; export type AndroidSelector = { checkable?: boolean, checked?: boolean, clazz?: string, clickable?: boolean, depth?: number, desc?: string, enabled?: boolean, focusable?: boolean, focused?: boolean, hasChild?: { selector: AndroidSelector, }, hasDescendant?: { selector: AndroidSelector, maxDepth?: number, }, longClickable?: boolean, pkg?: string, res?: string, scrollable?: boolean, selected?: boolean, text?: string, }; export type AndroidElementInfo = { children?: AndroidElementInfo[], clazz: string, desc: string, res: string, pkg: string, text: string, bounds: Rect, checkable: boolean, checked: boolean, clickable: boolean, enabled: boolean, focusable: boolean, focused: boolean, longClickable: boolean, scrollable: boolean, selected: boolean, }; // ----------- JsonPipe ----------- export type JsonPipeInitializer = {}; export interface JsonPipeChannel extends Channel { on(event: 'message', callback: (params: JsonPipeMessageEvent) => void): this; on(event: 'closed', callback: (params: JsonPipeClosedEvent) => void): this; send(params: JsonPipeSendParams, metadata?: Metadata): Promise; close(params?: JsonPipeCloseParams, metadata?: Metadata): Promise; } export type JsonPipeMessageEvent = { message: any, }; export type JsonPipeClosedEvent = {}; export type JsonPipeSendParams = { message: any, }; export type JsonPipeSendOptions = { }; export type JsonPipeSendResult = void; export type JsonPipeCloseParams = {}; export type JsonPipeCloseOptions = {}; export type JsonPipeCloseResult = void; export interface JsonPipeEvents { 'message': JsonPipeMessageEvent; 'closed': JsonPipeClosedEvent; } export const commandsWithTracingSnapshots = new Set([ 'EventTarget.waitForEventInfo', 'BrowserContext.waitForEventInfo', 'Page.waitForEventInfo', 'WebSocket.waitForEventInfo', 'ElectronApplication.waitForEventInfo', 'AndroidDevice.waitForEventInfo', 'Page.goBack', 'Page.goForward', 'Page.reload', 'Page.setViewportSize', 'Page.keyboardDown', 'Page.keyboardUp', 'Page.keyboardInsertText', 'Page.keyboardType', 'Page.keyboardPress', 'Page.mouseMove', 'Page.mouseDown', 'Page.mouseUp', 'Page.mouseClick', 'Page.mouseWheel', 'Page.touchscreenTap', 'Frame.evalOnSelector', 'Frame.evalOnSelectorAll', 'Frame.addScriptTag', 'Frame.addStyleTag', 'Frame.check', 'Frame.click', 'Frame.dragAndDrop', 'Frame.dblclick', 'Frame.dispatchEvent', 'Frame.evaluateExpression', 'Frame.evaluateExpressionHandle', 'Frame.fill', 'Frame.focus', 'Frame.getAttribute', 'Frame.goto', 'Frame.hover', 'Frame.innerHTML', 'Frame.innerText', 'Frame.inputValue', 'Frame.isChecked', 'Frame.isDisabled', 'Frame.isEnabled', 'Frame.isHidden', 'Frame.isVisible', 'Frame.isEditable', 'Frame.press', 'Frame.selectOption', 'Frame.setContent', 'Frame.setInputFiles', 'Frame.tap', 'Frame.textContent', 'Frame.type', 'Frame.uncheck', 'Frame.waitForTimeout', 'Frame.waitForFunction', 'Frame.waitForSelector', 'Frame.expect', 'JSHandle.evaluateExpression', 'ElementHandle.evaluateExpression', 'JSHandle.evaluateExpressionHandle', 'ElementHandle.evaluateExpressionHandle', 'ElementHandle.evalOnSelector', 'ElementHandle.evalOnSelectorAll', 'ElementHandle.check', 'ElementHandle.click', 'ElementHandle.dblclick', 'ElementHandle.dispatchEvent', 'ElementHandle.fill', 'ElementHandle.hover', 'ElementHandle.innerHTML', 'ElementHandle.innerText', 'ElementHandle.inputValue', 'ElementHandle.isChecked', 'ElementHandle.isDisabled', 'ElementHandle.isEditable', 'ElementHandle.isEnabled', 'ElementHandle.isHidden', 'ElementHandle.isVisible', 'ElementHandle.press', 'ElementHandle.scrollIntoViewIfNeeded', 'ElementHandle.selectOption', 'ElementHandle.selectText', 'ElementHandle.setInputFiles', 'ElementHandle.tap', 'ElementHandle.textContent', 'ElementHandle.type', 'ElementHandle.uncheck', 'ElementHandle.waitForElementState', 'ElementHandle.waitForSelector' ]); export const pausesBeforeInputActions = new Set([ 'Frame.check', 'Frame.click', 'Frame.dragAndDrop', 'Frame.dblclick', 'Frame.fill', 'Frame.hover', 'Frame.press', 'Frame.selectOption', 'Frame.setInputFiles', 'Frame.tap', 'Frame.type', 'Frame.uncheck', 'ElementHandle.check', 'ElementHandle.click', 'ElementHandle.dblclick', 'ElementHandle.fill', 'ElementHandle.hover', 'ElementHandle.press', 'ElementHandle.selectOption', 'ElementHandle.setInputFiles', 'ElementHandle.tap', 'ElementHandle.type', 'ElementHandle.uncheck' ]);