selenium-webdriver
Version:
The official WebDriver JavaScript bindings from the Selenium project
500 lines (499 loc) • 23.2 kB
TypeScript
import type { BrowserUserContext } from './browser.js';
import './browser.js';
import type { BrowsingContextBrowsingContext } from './browsing_context.js';
import './browsing_context.js';
import type { EmptyResult, JsUint } from './common.js';
import './common.js';
import { Domain } from '../domain.js';
export interface EmulationSetForcedColorsModeThemeOverride {
method: "emulation.setForcedColorsModeThemeOverride";
params: EmulationSetForcedColorsModeThemeOverrideParameters;
}
export interface EmulationSetForcedColorsModeThemeOverrideParameters {
theme: EmulationForcedColorsModeTheme | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationForcedColorsModeTheme = "light" | "dark";
export type EmulationSetForcedColorsModeThemeOverrideResult = EmptyResult;
export interface EmulationSetGeolocationOverride {
method: "emulation.setGeolocationOverride";
params: EmulationSetGeolocationOverrideParameters;
}
export type EmulationSetGeolocationOverrideParameters = EmulationSetGeolocationOverrideParameters_Coordinates | EmulationSetGeolocationOverrideParameters_Error;
export interface EmulationGeolocationCoordinates {
latitude: number;
longitude: number;
accuracy?: number;
altitude?: number | null;
altitudeAccuracy?: number | null;
heading?: number | null;
speed?: number | null;
}
export interface EmulationGeolocationPositionError {
type: "positionUnavailable";
}
export type EmulationSetGeolocationOverrideResult = EmptyResult;
export interface EmulationSetLocaleOverride {
method: "emulation.setLocaleOverride";
params: EmulationSetLocaleOverrideParameters;
}
export interface EmulationSetLocaleOverrideParameters {
locale: string | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetLocaleOverrideResult = EmptyResult;
export interface EmulationSetMediaFeaturesOverride {
method: "emulation.setMediaFeaturesOverride";
params: EmulationSetMediaFeaturesOverrideParameters;
}
export interface EmulationSetMediaFeaturesOverrideParameters {
features: EmulationMediaFeatures | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export interface EmulationMediaFeatures {
anyHover?: EmulationMediaFeaturesAnyHover | null;
anyPointer?: EmulationMediaFeaturesAnyPointer | null;
color?: JsUint | null;
colorGamut?: EmulationMediaFeaturesColorGamut | null;
colorIndex?: JsUint | null;
displayMode?: EmulationMediaFeaturesDisplayMode | null;
dynamicRange?: EmulationMediaFeaturesDynamicRange | null;
environmentBlending?: EmulationMediaFeaturesEnvironmentBlending | null;
forcedColors?: EmulationMediaFeaturesForcedColors | null;
grid?: EmulationMediaFeaturesGrid | null;
horizontalViewportSegments?: JsUint | null;
hover?: EmulationMediaFeaturesHover | null;
invertedColors?: EmulationMediaFeaturesInvertedColors | null;
monochrome?: JsUint | null;
navControls?: EmulationMediaFeaturesNavControls | null;
overflowBlock?: EmulationMediaFeaturesOverflowBlock | null;
overflowInline?: EmulationMediaFeaturesOverflowInline | null;
pointer?: EmulationMediaFeaturesPointer | null;
prefersColorScheme?: EmulationMediaFeaturesPrefersColorScheme | null;
prefersContrast?: EmulationMediaFeaturesPrefersContrast | null;
prefersReducedData?: EmulationMediaFeaturesPrefersReducedData | null;
prefersReducedMotion?: EmulationMediaFeaturesPrefersReducedMotion | null;
prefersReducedTransparency?: EmulationMediaFeaturesPrefersReducedTransparency | null;
scan?: EmulationMediaFeaturesScan | null;
scripting?: EmulationMediaFeaturesScripting | null;
update?: EmulationMediaFeaturesUpdate | null;
verticalViewportSegments?: JsUint | null;
videoColorGamut?: EmulationMediaFeaturesVideoColorGamut | null;
videoDynamicRange?: EmulationMediaFeaturesVideoDynamicRange | null;
}
export type EmulationSetMediaFeaturesOverrideResult = EmptyResult;
export interface EmulationSetNetworkConditions {
method: "emulation.setNetworkConditions";
params: EmulationSetNetworkConditionsParameters;
}
export interface EmulationSetNetworkConditionsParameters {
networkConditions: EmulationNetworkConditions | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationNetworkConditions = EmulationNetworkConditionsOffline;
export interface EmulationNetworkConditionsOffline {
type: "offline";
}
export type EmulationSetNetworkConditionsResult = EmptyResult;
export interface EmulationSetScreenSettingsOverride {
method: "emulation.setScreenSettingsOverride";
params: EmulationSetScreenSettingsOverrideParameters;
}
export interface EmulationScreenArea {
width: JsUint;
height: JsUint;
}
export interface EmulationSetScreenSettingsOverrideParameters {
screenArea: EmulationScreenArea | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetScreenSettingsOverrideResult = EmptyResult;
export interface EmulationSetScreenOrientationOverride {
method: "emulation.setScreenOrientationOverride";
params: EmulationSetScreenOrientationOverrideParameters;
}
export type EmulationScreenOrientationNatural = "portrait" | "landscape";
export type EmulationScreenOrientationType = "portrait-primary" | "portrait-secondary" | "landscape-primary" | "landscape-secondary";
export interface EmulationScreenOrientation {
natural: EmulationScreenOrientationNatural;
type: EmulationScreenOrientationType;
}
export interface EmulationSetScreenOrientationOverrideParameters {
screenOrientation: EmulationScreenOrientation | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetScreenOrientationOverrideResult = EmptyResult;
export interface EmulationSetUserAgentOverride {
method: "emulation.setUserAgentOverride";
params: EmulationSetUserAgentOverrideParameters;
}
export interface EmulationSetUserAgentOverrideParameters {
userAgent: string | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetUserAgentOverrideResult = EmptyResult;
export interface EmulationSetViewportMetaOverride {
method: "emulation.setViewportMetaOverride";
params: EmulationSetViewportMetaOverrideParameters;
}
export interface EmulationSetViewportMetaOverrideParameters {
viewportMeta: true | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetViewportMetaOverrideResult = EmptyResult;
export interface EmulationSetScriptingEnabled {
method: "emulation.setScriptingEnabled";
params: EmulationSetScriptingEnabledParameters;
}
export interface EmulationSetScriptingEnabledParameters {
enabled: false | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetScriptingEnabledResult = EmptyResult;
export interface EmulationSetScrollbarTypeOverride {
method: "emulation.setScrollbarTypeOverride";
params: EmulationSetScrollbarTypeOverrideParameters;
}
export interface EmulationSetScrollbarTypeOverrideParameters {
scrollbarType: EmulationSetScrollbarTypeOverrideParametersScrollbarType | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetScrollbarTypeOverrideResult = EmptyResult;
export interface EmulationSetTextLayoutModeOverride {
method: "emulation.setTextLayoutModeOverride";
params: EmulationSetTextLayoutModeOverrideParameters;
}
export interface EmulationSetTextLayoutModeOverrideParameters {
textLayoutMode: EmulationTextLayoutMode | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationTextLayoutMode = "mobile";
export type EmulationSetTextLayoutModeOverrideResult = EmptyResult;
export interface EmulationSetTimezoneOverride {
method: "emulation.setTimezoneOverride";
params: EmulationSetTimezoneOverrideParameters;
}
export interface EmulationSetTimezoneOverrideParameters {
timezone: string | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetTimezoneOverrideResult = EmptyResult;
export interface EmulationSetTouchOverride {
method: "emulation.setTouchOverride";
params: EmulationSetTouchOverrideParameters;
}
export interface EmulationSetTouchOverrideParameters {
maxTouchPoints: JsUint | null;
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
}
export type EmulationSetTouchOverrideResult = EmptyResult;
export type EmulationMediaFeaturesAnyHover = "none" | "hover";
export type EmulationMediaFeaturesAnyPointer = "none" | "coarse" | "fine";
export type EmulationMediaFeaturesColorGamut = "srgb" | "p3" | "rec2020";
export type EmulationMediaFeaturesDisplayMode = "fullscreen" | "standalone" | "minimal-ui" | "browser" | "picture-in-picture";
export type EmulationMediaFeaturesDynamicRange = "standard" | "high";
export type EmulationMediaFeaturesEnvironmentBlending = "opaque" | "additive" | "subtractive";
export type EmulationMediaFeaturesForcedColors = "none" | "active";
export type EmulationMediaFeaturesGrid = 0 | 1;
export type EmulationMediaFeaturesHover = "none" | "hover";
export type EmulationMediaFeaturesInvertedColors = "none" | "inverted";
export type EmulationMediaFeaturesNavControls = "none" | "back";
export type EmulationMediaFeaturesOverflowBlock = "none" | "scroll" | "optional-paged" | "paged";
export type EmulationMediaFeaturesOverflowInline = "none" | "scroll";
export type EmulationMediaFeaturesPointer = "none" | "coarse" | "fine";
export type EmulationMediaFeaturesPrefersColorScheme = "light" | "dark";
export type EmulationMediaFeaturesPrefersContrast = "no-preference" | "more" | "less" | "custom";
export type EmulationMediaFeaturesPrefersReducedData = "no-preference" | "reduce";
export type EmulationMediaFeaturesPrefersReducedMotion = "no-preference" | "reduce";
export type EmulationMediaFeaturesPrefersReducedTransparency = "no-preference" | "reduce";
export type EmulationMediaFeaturesScan = "interlace" | "progressive";
export type EmulationMediaFeaturesScripting = "none" | "initial-only" | "enabled";
export type EmulationMediaFeaturesUpdate = "none" | "slow" | "fast";
export type EmulationMediaFeaturesVideoColorGamut = "srgb" | "p3" | "rec2020";
export type EmulationMediaFeaturesVideoDynamicRange = "standard" | "high";
export type EmulationSetScrollbarTypeOverrideParametersScrollbarType = "classic" | "overlay";
export interface EmulationSetGeolocationOverrideParameters_Coordinates {
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
coordinates: EmulationGeolocationCoordinates | null;
}
export interface EmulationSetGeolocationOverrideParameters_Error {
contexts?: Array<BrowsingContextBrowsingContext>;
userContexts?: Array<BrowserUserContext>;
error: EmulationGeolocationPositionError;
}
/**
* 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 Emulation extends Domain {
static readonly ForcedColorsModeTheme: Readonly<{
readonly LIGHT: "light";
readonly DARK: "dark";
}>;
static readonly ScreenOrientationNatural: Readonly<{
readonly PORTRAIT: "portrait";
readonly LANDSCAPE: "landscape";
}>;
static readonly ScreenOrientationType: Readonly<{
readonly PORTRAIT_PRIMARY: "portrait-primary";
readonly PORTRAIT_SECONDARY: "portrait-secondary";
readonly LANDSCAPE_PRIMARY: "landscape-primary";
readonly LANDSCAPE_SECONDARY: "landscape-secondary";
}>;
static readonly TextLayoutMode: Readonly<{
readonly MOBILE: "mobile";
}>;
static readonly MediaFeaturesAnyHover: Readonly<{
readonly NONE: "none";
readonly HOVER: "hover";
}>;
static readonly MediaFeaturesAnyPointer: Readonly<{
readonly NONE: "none";
readonly COARSE: "coarse";
readonly FINE: "fine";
}>;
static readonly MediaFeaturesColorGamut: Readonly<{
readonly SRGB: "srgb";
readonly P3: "p3";
readonly REC2020: "rec2020";
}>;
static readonly MediaFeaturesDisplayMode: Readonly<{
readonly FULLSCREEN: "fullscreen";
readonly STANDALONE: "standalone";
readonly MINIMAL_UI: "minimal-ui";
readonly BROWSER: "browser";
readonly PICTURE_IN_PICTURE: "picture-in-picture";
}>;
static readonly MediaFeaturesDynamicRange: Readonly<{
readonly STANDARD: "standard";
readonly HIGH: "high";
}>;
static readonly MediaFeaturesEnvironmentBlending: Readonly<{
readonly OPAQUE: "opaque";
readonly ADDITIVE: "additive";
readonly SUBTRACTIVE: "subtractive";
}>;
static readonly MediaFeaturesForcedColors: Readonly<{
readonly NONE: "none";
readonly ACTIVE: "active";
}>;
static readonly MediaFeaturesGrid: Readonly<{
readonly _0: 0;
readonly _1: 1;
}>;
static readonly MediaFeaturesHover: Readonly<{
readonly NONE: "none";
readonly HOVER: "hover";
}>;
static readonly MediaFeaturesInvertedColors: Readonly<{
readonly NONE: "none";
readonly INVERTED: "inverted";
}>;
static readonly MediaFeaturesNavControls: Readonly<{
readonly NONE: "none";
readonly BACK: "back";
}>;
static readonly MediaFeaturesOverflowBlock: Readonly<{
readonly NONE: "none";
readonly SCROLL: "scroll";
readonly OPTIONAL_PAGED: "optional-paged";
readonly PAGED: "paged";
}>;
static readonly MediaFeaturesOverflowInline: Readonly<{
readonly NONE: "none";
readonly SCROLL: "scroll";
}>;
static readonly MediaFeaturesPointer: Readonly<{
readonly NONE: "none";
readonly COARSE: "coarse";
readonly FINE: "fine";
}>;
static readonly MediaFeaturesPrefersColorScheme: Readonly<{
readonly LIGHT: "light";
readonly DARK: "dark";
}>;
static readonly MediaFeaturesPrefersContrast: Readonly<{
readonly NO_PREFERENCE: "no-preference";
readonly MORE: "more";
readonly LESS: "less";
readonly CUSTOM: "custom";
}>;
static readonly MediaFeaturesPrefersReducedData: Readonly<{
readonly NO_PREFERENCE: "no-preference";
readonly REDUCE: "reduce";
}>;
static readonly MediaFeaturesPrefersReducedMotion: Readonly<{
readonly NO_PREFERENCE: "no-preference";
readonly REDUCE: "reduce";
}>;
static readonly MediaFeaturesPrefersReducedTransparency: Readonly<{
readonly NO_PREFERENCE: "no-preference";
readonly REDUCE: "reduce";
}>;
static readonly MediaFeaturesScan: Readonly<{
readonly INTERLACE: "interlace";
readonly PROGRESSIVE: "progressive";
}>;
static readonly MediaFeaturesScripting: Readonly<{
readonly NONE: "none";
readonly INITIAL_ONLY: "initial-only";
readonly ENABLED: "enabled";
}>;
static readonly MediaFeaturesUpdate: Readonly<{
readonly NONE: "none";
readonly SLOW: "slow";
readonly FAST: "fast";
}>;
static readonly MediaFeaturesVideoColorGamut: Readonly<{
readonly SRGB: "srgb";
readonly P3: "p3";
readonly REC2020: "rec2020";
}>;
static readonly MediaFeaturesVideoDynamicRange: Readonly<{
readonly STANDARD: "standard";
readonly HIGH: "high";
}>;
static readonly SetScrollbarTypeOverrideParametersScrollbarType: Readonly<{
readonly CLASSIC: "classic";
readonly OVERLAY: "overlay";
}>;
static create(driver: unknown): Promise<Emulation>;
/**
* @param {EmulationSetForcedColorsModeThemeOverrideParameters} params
* @param {EmulationForcedColorsModeTheme | null} params.theme
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setForcedColorsModeThemeOverride
*/
setForcedColorsModeThemeOverride(params: EmulationSetForcedColorsModeThemeOverrideParameters): Promise<void>;
/**
* @param {EmulationSetGeolocationOverrideParameters} params
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setGeolocationOverride
*/
setGeolocationOverride(params: EmulationSetGeolocationOverrideParameters): Promise<void>;
/**
* @param {EmulationSetLocaleOverrideParameters} params
* @param {string | null} params.locale
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setLocaleOverride
*/
setLocaleOverride(params: EmulationSetLocaleOverrideParameters): Promise<void>;
/**
* @param {EmulationSetMediaFeaturesOverrideParameters} params
* @param {EmulationMediaFeatures | null} params.features
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setMediaFeaturesOverride
*/
setMediaFeaturesOverride(params: EmulationSetMediaFeaturesOverrideParameters): Promise<void>;
/**
* @param {EmulationSetNetworkConditionsParameters} params
* @param {EmulationNetworkConditions | null} params.networkConditions
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setNetworkConditions
*/
setNetworkConditions(params: EmulationSetNetworkConditionsParameters): Promise<void>;
/**
* @param {EmulationSetScreenOrientationOverrideParameters} params
* @param {EmulationScreenOrientation | null} params.screenOrientation
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setScreenOrientationOverride
*/
setScreenOrientationOverride(params: EmulationSetScreenOrientationOverrideParameters): Promise<void>;
/**
* @param {EmulationSetScreenSettingsOverrideParameters} params
* @param {EmulationScreenArea | null} params.screenArea
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setScreenSettingsOverride
*/
setScreenSettingsOverride(params: EmulationSetScreenSettingsOverrideParameters): Promise<void>;
/**
* @param {EmulationSetScriptingEnabledParameters} params
* @param {false | null} params.enabled
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setScriptingEnabled
*/
setScriptingEnabled(params: EmulationSetScriptingEnabledParameters): Promise<void>;
/**
* @param {EmulationSetScrollbarTypeOverrideParameters} params
* @param {EmulationSetScrollbarTypeOverrideParametersScrollbarType | null} params.scrollbarType
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setScrollbarTypeOverride
*/
setScrollbarTypeOverride(params: EmulationSetScrollbarTypeOverrideParameters): Promise<void>;
/**
* @param {EmulationSetTextLayoutModeOverrideParameters} params
* @param {EmulationTextLayoutMode | null} params.textLayoutMode
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setTextLayoutModeOverride
*/
setTextLayoutModeOverride(params: EmulationSetTextLayoutModeOverrideParameters): Promise<void>;
/**
* @param {EmulationSetTimezoneOverrideParameters} params
* @param {string | null} params.timezone
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setTimezoneOverride
*/
setTimezoneOverride(params: EmulationSetTimezoneOverrideParameters): Promise<void>;
/**
* @param {EmulationSetTouchOverrideParameters} params
* @param {JsUint | null} params.maxTouchPoints
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setTouchOverride
*/
setTouchOverride(params: EmulationSetTouchOverrideParameters): Promise<void>;
/**
* @param {EmulationSetUserAgentOverrideParameters} params
* @param {string | null} params.userAgent
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setUserAgentOverride
*/
setUserAgentOverride(params: EmulationSetUserAgentOverrideParameters): Promise<void>;
/**
* @param {EmulationSetViewportMetaOverrideParameters} params
* @param {true | null} params.viewportMeta
* @param {Array<BrowsingContextBrowsingContext>} [params.contexts]
* @param {Array<BrowserUserContext>} [params.userContexts]
* @returns {Promise<void>}
* @see https://w3c.github.io/webdriver-bidi/#command-emulation-setViewportMetaOverride
*/
setViewportMetaOverride(params: EmulationSetViewportMetaOverrideParameters): Promise<void>;
}