UNPKG

4.36 kBTypeScriptView Raw
1export interface Client {
2 Network: any;
3 Page: any;
4 DOM: any;
5 Input: any;
6 Runtime: any;
7 Emulation: any;
8 Storage: any;
9 close: () => void;
10 target: {
11 id: string;
12 };
13 port: any;
14 host: any;
15}
16export interface DeviceMetrics {
17 width: number;
18 height: number;
19 deviceScaleFactor?: number;
20 mobile?: boolean;
21 scale?: number;
22 screenOrientation?: ScreenOrientation;
23}
24export interface ScreenOrientation {
25 type: string;
26 angle: number;
27}
28export interface RemoteOptions {
29 endpointUrl: string;
30 apiKey?: string;
31}
32export interface CDPOptions {
33 host?: string;
34 port?: number;
35 secure?: boolean;
36 closeTab?: boolean;
37}
38export interface ChromelessOptions {
39 debug?: boolean;
40 waitTimeout?: number;
41 implicitWait?: boolean;
42 scrollBeforeClick?: boolean;
43 viewport?: {
44 width?: number;
45 height?: number;
46 scale?: number;
47 };
48 launchChrome?: boolean;
49 cdp?: CDPOptions;
50 remote?: RemoteOptions | boolean;
51}
52export interface Chrome {
53 process<T extends any>(command: Command): Promise<T>;
54 close(): Promise<void>;
55}
56export declare type Command = {
57 type: 'goto';
58 url: string;
59 timeout?: number;
60} | {
61 type: 'clearCache';
62} | {
63 type: 'setViewport';
64 options: DeviceMetrics;
65} | {
66 type: 'setUserAgent';
67 useragent: string;
68} | {
69 type: 'wait';
70 timeout?: number;
71 selector?: string;
72 fn?: string;
73 args?: any[];
74} | {
75 type: 'click';
76 selector: string;
77} | {
78 type: 'returnCode';
79 fn: string;
80 args?: any[];
81} | {
82 type: 'returnInputValue';
83 selector: string;
84} | {
85 type: 'returnExists';
86 selector: string;
87} | {
88 type: 'returnValue';
89 selector: string;
90} | {
91 type: 'returnScreenshot';
92 selector?: string;
93 options?: ScreenshotOptions;
94} | {
95 type: 'returnHtml';
96} | {
97 type: 'returnHtmlUrl';
98} | {
99 type: 'returnPdf';
100 options?: PdfOptions;
101} | {
102 type: 'scrollTo';
103 x: number;
104 y: number;
105} | {
106 type: 'scrollToElement';
107 selector: string;
108} | {
109 type: 'setHtml';
110 html: string;
111} | {
112 type: 'setExtraHTTPHeaders';
113 headers: Headers;
114} | {
115 type: 'press';
116 keyCode: number;
117 count?: number;
118 modifiers?: any;
119} | {
120 type: 'type';
121 input: string;
122 selector?: string;
123} | {
124 type: 'clearCookies';
125} | {
126 type: 'clearStorage';
127 origin: string;
128 storageTypes: string;
129} | {
130 type: 'deleteCookies';
131 name: string;
132 url: string;
133} | {
134 type: 'setCookies';
135 nameOrCookies: string | Cookie | Cookie[];
136 value?: string;
137} | {
138 type: 'allCookies';
139} | {
140 type: 'cookies';
141 nameOrQuery?: string | CookieQuery;
142} | {
143 type: 'mousedown';
144 selector: string;
145} | {
146 type: 'mouseup';
147 selector: string;
148} | {
149 type: 'focus';
150 selector: string;
151} | {
152 type: 'clearInput';
153 selector: string;
154} | {
155 type: 'setFileInput';
156 selector: string;
157 files: string[];
158};
159export declare type Headers = Record<string, string>;
160export interface Cookie {
161 url?: string;
162 domain?: string;
163 name: string;
164 value: string;
165 path?: string;
166 expires?: number;
167 size?: number;
168 httpOnly?: boolean;
169 secure?: boolean;
170 session?: boolean;
171}
172export interface CookieQuery {
173 name: string;
174 path?: string;
175 expires?: number;
176 size?: number;
177 httpOnly?: boolean;
178 secure?: boolean;
179 session?: boolean;
180}
181export interface PdfOptions {
182 landscape?: boolean;
183 displayHeaderFooter?: boolean;
184 printBackground?: boolean;
185 scale?: number;
186 paperWidth?: number;
187 paperHeight?: number;
188 marginTop?: number;
189 marginBottom?: number;
190 marginLeft?: number;
191 marginRight?: number;
192 pageRanges?: string;
193 ignoreInvalidPageRanges?: boolean;
194 filePath?: string;
195}
196export interface ScreenshotOptions {
197 filePath?: string;
198}
199export declare type Quad = Array<number>;
200export interface ShapeOutsideInfo {
201 bounds: Quad;
202 shape: Array<any>;
203 marginShape: Array<any>;
204}
205export interface BoxModel {
206 content: Quad;
207 padding: Quad;
208 border: Quad;
209 margin: Quad;
210 width: number;
211 height: number;
212 shapeOutside: ShapeOutsideInfo;
213}
214export interface Viewport {
215 x: number;
216 y: number;
217 width: number;
218 height: number;
219 scale: number;
220}