selenium-webdriver
Version:
The official WebDriver JavaScript bindings from the Selenium project
105 lines (104 loc) • 4.36 kB
TypeScript
import type { EmptyParams, EmptyResult, JsInt, JsUint } from './common.js';
import type { SessionProxyConfiguration, SessionUserPromptHandler } from './session.js';
export type BrowserCommand = BrowserClose | BrowserCreateUserContext | BrowserGetClientWindows | BrowserGetUserContexts | BrowserRemoveUserContext | BrowserSetClientWindowState | BrowserSetDownloadBehavior;
export type BrowserResult = BrowserCloseResult | BrowserCreateUserContextResult | BrowserGetClientWindowsResult | BrowserGetUserContextsResult | BrowserRemoveUserContextResult | BrowserSetClientWindowStateResult | BrowserSetDownloadBehaviorResult;
export type BrowserClientWindow = string;
export interface BrowserClientWindowInfo {
active: boolean;
clientWindow: BrowserClientWindow;
height: JsUint;
state: "fullscreen" | "maximized" | "minimized" | "normal";
width: JsUint;
x: JsInt;
y: JsInt;
}
export type BrowserUserContext = string;
export interface BrowserUserContextInfo {
userContext: BrowserUserContext;
}
export interface BrowserClose {
method: "browser.close";
params: EmptyParams;
}
export type BrowserCloseResult = EmptyResult;
export interface BrowserCreateUserContext {
method: "browser.createUserContext";
params: BrowserCreateUserContextParameters;
}
export interface BrowserCreateUserContextParameters {
acceptInsecureCerts?: boolean;
proxy?: SessionProxyConfiguration;
unhandledPromptBehavior?: SessionUserPromptHandler;
}
export type BrowserCreateUserContextResult = BrowserUserContextInfo;
export interface BrowserGetClientWindows {
method: "browser.getClientWindows";
params: EmptyParams;
}
export interface BrowserGetClientWindowsResult {
clientWindows: BrowserClientWindowInfo[];
}
export interface BrowserGetUserContexts {
method: "browser.getUserContexts";
params: EmptyParams;
}
export interface BrowserGetUserContextsResult {
userContexts: BrowserUserContextInfo[];
}
export interface BrowserRemoveUserContext {
method: "browser.removeUserContext";
params: BrowserRemoveUserContextParameters;
}
export interface BrowserRemoveUserContextParameters {
userContext: BrowserUserContext;
}
export type BrowserRemoveUserContextResult = EmptyResult;
export interface BrowserSetClientWindowState {
method: "browser.setClientWindowState";
params: BrowserSetClientWindowStateParameters;
}
export type BrowserSetClientWindowStateParameters = (BrowserClientWindowNamedState | BrowserClientWindowRectState) & {
clientWindow: BrowserClientWindow;
};
export interface BrowserClientWindowNamedState {
state: "fullscreen" | "maximized" | "minimized";
}
export interface BrowserClientWindowRectState {
state: "normal";
width?: JsUint;
height?: JsUint;
x?: JsInt;
y?: JsInt;
}
export type BrowserSetClientWindowStateResult = BrowserClientWindowInfo;
export interface BrowserSetDownloadBehavior {
method: "browser.setDownloadBehavior";
params: BrowserSetDownloadBehaviorParameters;
}
export interface BrowserSetDownloadBehaviorParameters {
downloadBehavior: BrowserDownloadBehavior | null;
userContexts?: BrowserUserContext[];
}
export type BrowserDownloadBehavior = (BrowserDownloadBehaviorAllowed | BrowserDownloadBehaviorDenied);
export interface BrowserDownloadBehaviorAllowed {
type: "allowed";
destinationFolder: string;
}
export interface BrowserDownloadBehaviorDenied {
type: "denied";
}
export type BrowserSetDownloadBehaviorResult = EmptyResult;
/** @deprecated Use {@link Browser.create} instead — will be removed in a future major version. */
export declare function getBrowserInstance(driver: unknown): Promise<Browser>;
export declare class Browser {
private readonly bidi;
private constructor();
static create(driver: unknown): Promise<Browser>;
close(): Promise<void>;
createUserContext(params: BrowserCreateUserContextParameters): Promise<BrowserCreateUserContextResult>;
getClientWindows(): Promise<BrowserGetClientWindowsResult>;
getUserContexts(): Promise<BrowserGetUserContextsResult>;
removeUserContext(params: BrowserRemoveUserContextParameters): Promise<void>;
setClientWindowState(params: BrowserSetClientWindowStateParameters): Promise<BrowserSetClientWindowStateResult>;
setDownloadBehavior(params: BrowserSetDownloadBehaviorParameters): Promise<void>;
}