UNPKG

selenium-webdriver

Version:

The official WebDriver JavaScript bindings from the Selenium project

160 lines (159 loc) • 5.59 kB
import type { BrowserUserContext } from './browser.js'; import './browser.js'; import type { BrowsingContextBrowsingContext } from './browsing_context.js'; import './browsing_context.js'; import type { EmptyParams, EmptyResult } from './common.js'; import './common.js'; import { Domain } from '../domain.js'; export interface SessionCapabilitiesRequest { alwaysMatch?: SessionCapabilityRequest; firstMatch?: Array<SessionCapabilityRequest>; } export interface SessionCapabilityRequest { acceptInsecureCerts?: boolean; browserName?: string; browserVersion?: string; platformName?: string; proxy?: SessionProxyConfiguration; unhandledPromptBehavior?: SessionUserPromptHandler; } export interface SessionCapabilityResponse { acceptInsecureCerts: boolean; browserName: string; browserVersion: string; platformName: string; setWindowRect: boolean; userAgent: string; proxy?: SessionProxyConfiguration; unhandledPromptBehavior?: SessionUserPromptHandler; webSocketUrl?: string; } export type SessionProxyConfiguration = SessionAutodetectProxyConfiguration | SessionDirectProxyConfiguration | SessionManualProxyConfiguration | SessionPacProxyConfiguration | SessionSystemProxyConfiguration; export interface SessionAutodetectProxyConfiguration { proxyType: "autodetect"; } export interface SessionDirectProxyConfiguration { proxyType: "direct"; } export interface SessionManualProxyConfiguration { proxyType: "manual"; httpProxy?: string; sslProxy?: string; socksProxy: string; socksVersion: number; noProxy?: Array<string>; } export interface SessionSocksProxyConfiguration { socksProxy: string; socksVersion: number; } export interface SessionPacProxyConfiguration { proxyType: "pac"; proxyAutoconfigUrl: string; } export interface SessionSystemProxyConfiguration { proxyType: "system"; } export interface SessionUserPromptHandler { alert?: SessionUserPromptHandlerType; beforeUnload?: SessionUserPromptHandlerType; confirm?: SessionUserPromptHandlerType; default?: SessionUserPromptHandlerType; file?: SessionUserPromptHandlerType; prompt?: SessionUserPromptHandlerType; } export type SessionUserPromptHandlerType = "accept" | "dismiss" | "ignore"; export type SessionSubscription = string; export interface SessionSubscribeParameters { events: Array<string>; contexts?: Array<BrowsingContextBrowsingContext>; userContexts?: Array<BrowserUserContext>; } export interface SessionUnsubscribeByIdRequest { subscriptions: Array<SessionSubscription>; } export interface SessionUnsubscribeByAttributesRequest { events: Array<string>; } export interface SessionStatus { method: "session.status"; params: EmptyParams; } export interface SessionStatusResult { ready: boolean; message: string; } export interface SessionNew { method: "session.new"; params: SessionNewParameters; } export interface SessionNewParameters { capabilities: SessionCapabilitiesRequest; } export interface SessionNewResult { sessionId: string; capabilities: SessionCapabilityResponse; } export interface SessionEnd { method: "session.end"; params: EmptyParams; } export type SessionEndResult = EmptyResult; export interface SessionSubscribe { method: "session.subscribe"; params: SessionSubscribeParameters; } export interface SessionSubscribeResult { subscription: SessionSubscription; } export interface SessionUnsubscribe { method: "session.unsubscribe"; params: SessionUnsubscribeParameters; } export type SessionUnsubscribeParameters = SessionUnsubscribeByAttributesRequest | SessionUnsubscribeByIdRequest; export type SessionUnsubscribeResult = EmptyResult; /** * This is an unsupported API. No compatibility guarantees are provided. * It tracks the W3C WebDriver BiDi specification directly. As the specification * evolves, this API will change or be removed without prior notice. */ export declare class Session extends Domain { static readonly UserPromptHandlerType: Readonly<{ readonly ACCEPT: "accept"; readonly DISMISS: "dismiss"; readonly IGNORE: "ignore"; }>; static create(driver: unknown): Promise<Session>; /** * @returns {Promise<void>} * @see https://w3c.github.io/webdriver-bidi/#command-session-end */ end(): Promise<void>; /** * @param {SessionNewParameters} params * @param {SessionCapabilitiesRequest} params.capabilities * @returns {Promise<SessionNewResult>} * @see https://w3c.github.io/webdriver-bidi/#command-session-new */ new(params: SessionNewParameters): Promise<SessionNewResult>; /** * @returns {Promise<SessionStatusResult>} * @see https://w3c.github.io/webdriver-bidi/#command-session-status */ status(): Promise<SessionStatusResult>; /** * @param {SessionSubscribeParameters} params * @param {Array<string>} params.events * @param {Array<BrowsingContextBrowsingContext>} [params.contexts] * @param {Array<BrowserUserContext>} [params.userContexts] * @returns {Promise<SessionSubscribeResult>} * @see https://w3c.github.io/webdriver-bidi/#command-session-subscribe */ subscribe(params: SessionSubscribeParameters): Promise<SessionSubscribeResult>; /** * @param {SessionUnsubscribeParameters} params * @returns {Promise<void>} * @see https://w3c.github.io/webdriver-bidi/#command-session-unsubscribe */ unsubscribe(params: SessionUnsubscribeParameters): Promise<void>; }