selenium-webdriver
Version:
The official WebDriver JavaScript bindings from the Selenium project
160 lines (159 loc) • 5.59 kB
TypeScript
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>;
}