selenium-webdriver
Version:
The official WebDriver JavaScript bindings from the Selenium project
177 lines (176 loc) • 7.95 kB
TypeScript
import type { BrowserUserContext } from './browser.js';
import type { BrowsingContextBrowsingContext } from './browsing_context.js';
import type { EmptyResult, JsUint } from './common.js';
export type EmulationCommand = EmulationSetForcedColorsModeThemeOverride | EmulationSetGeolocationOverride | EmulationSetLocaleOverride | EmulationSetNetworkConditions | EmulationSetScreenOrientationOverride | EmulationSetScreenSettingsOverride | EmulationSetScriptingEnabled | EmulationSetScrollbarTypeOverride | EmulationSetTimezoneOverride | EmulationSetTouchOverride | EmulationSetUserAgentOverride;
export type EmulationResult = EmulationSetForcedColorsModeThemeOverrideResult | EmulationSetGeolocationOverrideResult | EmulationSetLocaleOverrideResult | EmulationSetScreenOrientationOverrideResult | EmulationSetScriptingEnabledResult | EmulationSetScrollbarTypeOverrideResult | EmulationSetTimezoneOverrideResult | EmulationSetTouchOverrideResult | EmulationSetUserAgentOverrideResult;
export interface EmulationSetForcedColorsModeThemeOverride {
method: "emulation.setForcedColorsModeThemeOverride";
params: EmulationSetForcedColorsModeThemeOverrideParameters;
}
export interface EmulationSetForcedColorsModeThemeOverrideParameters {
theme: EmulationForcedColorsModeTheme | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationForcedColorsModeTheme = "light" | "dark";
export type EmulationSetForcedColorsModeThemeOverrideResult = EmptyResult;
export interface EmulationSetGeolocationOverride {
method: "emulation.setGeolocationOverride";
params: EmulationSetGeolocationOverrideParameters;
}
export type EmulationSetGeolocationOverrideParameters = ({
coordinates: EmulationGeolocationCoordinates | null;
} | {
error: EmulationGeolocationPositionError;
}) & {
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
};
export interface EmulationGeolocationCoordinates {
latitude: number;
longitude: number;
/**
* @default 1
*/
accuracy?: number;
/**
* @default null
*/
altitude?: number | null;
/**
* @default null
*/
altitudeAccuracy?: number | null;
/**
* @default null
*/
heading?: number | null;
/**
* @default 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?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetLocaleOverrideResult = EmptyResult;
export interface EmulationSetNetworkConditions {
method: "emulation.setNetworkConditions";
params: EmulationSetNetworkConditionsParameters;
}
export interface EmulationSetNetworkConditionsParameters {
networkConditions: EmulationNetworkConditions | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: 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?: BrowsingContextBrowsingContext[];
userContexts?: 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?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetScreenOrientationOverrideResult = EmptyResult;
export interface EmulationSetUserAgentOverride {
method: "emulation.setUserAgentOverride";
params: EmulationSetUserAgentOverrideParameters;
}
export interface EmulationSetUserAgentOverrideParameters {
userAgent: string | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetUserAgentOverrideResult = EmptyResult;
export interface EmulationSetScriptingEnabled {
method: "emulation.setScriptingEnabled";
params: EmulationSetScriptingEnabledParameters;
}
export interface EmulationSetScriptingEnabledParameters {
enabled: false | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetScriptingEnabledResult = EmptyResult;
export interface EmulationSetScrollbarTypeOverride {
method: "emulation.setScrollbarTypeOverride";
params: EmulationSetScrollbarTypeOverrideParameters;
}
export interface EmulationSetScrollbarTypeOverrideParameters {
scrollbarType: "classic" | "overlay" | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetScrollbarTypeOverrideResult = EmptyResult;
export interface EmulationSetTimezoneOverride {
method: "emulation.setTimezoneOverride";
params: EmulationSetTimezoneOverrideParameters;
}
export interface EmulationSetTimezoneOverrideParameters {
timezone: string | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetTimezoneOverrideResult = EmptyResult;
export interface EmulationSetTouchOverride {
method: "emulation.setTouchOverride";
params: EmulationSetTouchOverrideParameters;
}
export interface EmulationSetTouchOverrideParameters {
maxTouchPoints: JsUint | null;
contexts?: BrowsingContextBrowsingContext[];
userContexts?: BrowserUserContext[];
}
export type EmulationSetTouchOverrideResult = EmptyResult;
export declare class Emulation {
private readonly bidi;
private constructor();
static create(driver: unknown): Promise<Emulation>;
setForcedColorsModeThemeOverride(params: EmulationSetForcedColorsModeThemeOverrideParameters): Promise<void>;
setGeolocationOverride(params: EmulationSetGeolocationOverrideParameters): Promise<void>;
setLocaleOverride(params: EmulationSetLocaleOverrideParameters): Promise<void>;
setNetworkConditions(params: EmulationSetNetworkConditionsParameters): Promise<void>;
setScreenOrientationOverride(params: EmulationSetScreenOrientationOverrideParameters): Promise<void>;
setScreenSettingsOverride(params: EmulationSetScreenSettingsOverrideParameters): Promise<void>;
setScriptingEnabled(params: EmulationSetScriptingEnabledParameters): Promise<void>;
setScrollbarTypeOverride(params: EmulationSetScrollbarTypeOverrideParameters): Promise<void>;
setTimezoneOverride(params: EmulationSetTimezoneOverrideParameters): Promise<void>;
setTouchOverride(params: EmulationSetTouchOverrideParameters): Promise<void>;
setUserAgentOverride(params: EmulationSetUserAgentOverrideParameters): Promise<void>;
}