Skip to main content

browser_commander/playwright/protocol/
page.rs

1// @generated by scripts/generate-playwright-protocol.mjs from
2// rust/protocol/playwright/*.yml. Do not edit by hand.
3
4#![allow(clippy::all, missing_docs, unused_imports)]
5
6use serde::{Deserialize, Serialize};
7
8use super::*;
9use crate::playwright::connection::{
10    Binary, Channel, ChannelType, ObjectRef, ProtocolError, ProtocolEvent, Ref,
11};
12
13#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
14pub struct PageInitializerViewportSize {
15    #[serde(rename = "width")]
16    pub width: i64,
17    #[serde(rename = "height")]
18    pub height: i64,
19}
20
21/// Initializer the driver sends when it creates a `Page`.
22#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
23pub struct PageInitializer {
24    #[serde(rename = "mainFrame")]
25    pub main_frame: Ref<Frame>,
26    #[serde(rename = "viewportSize", default, skip_serializing_if = "Option::is_none")]
27    pub viewport_size: Option<PageInitializerViewportSize>,
28    #[serde(rename = "isClosed")]
29    pub is_closed: bool,
30    #[serde(rename = "opener", default, skip_serializing_if = "Option::is_none")]
31    pub opener: Option<Ref<Page>>,
32    #[serde(rename = "video", default, skip_serializing_if = "Option::is_none")]
33    pub video: Option<Ref<Artifact>>,
34}
35
36/// Parameters of `Page.addInitScript` (Add init script).
37#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
38pub struct PageAddInitScriptParams {
39    #[serde(rename = "source")]
40    pub source: String,
41}
42
43/// Result of `Page.addInitScript` (Add init script).
44#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
45pub struct PageAddInitScriptResult {
46    #[serde(rename = "disposable")]
47    pub disposable: Ref<Disposable>,
48}
49
50/// Parameters of `Page.close` (Close page).
51#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
52pub struct PageCloseParams {
53    #[serde(rename = "reason", default, skip_serializing_if = "Option::is_none")]
54    pub reason: Option<String>,
55}
56
57/// Parameters of `Page.consoleMessages` (Get console messages).
58#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
59pub struct PageConsoleMessagesParams {
60    #[serde(rename = "filter", default, skip_serializing_if = "Option::is_none")]
61    pub filter: Option<ConsoleMessagesFilter>,
62}
63
64#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
65pub struct PageConsoleMessagesResultMessages {
66    /// Properties of the `ConsoleMessage` mixin.
67    #[serde(flatten)]
68    pub console_message: ConsoleMessage,
69}
70
71/// Result of `Page.consoleMessages` (Get console messages).
72#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
73pub struct PageConsoleMessagesResult {
74    #[serde(rename = "messages")]
75    pub messages: Vec<PageConsoleMessagesResultMessages>,
76}
77
78#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
79pub enum PageEmulateMediaParamsMedia {
80    #[default]
81    #[serde(rename = "screen")]
82    Screen,
83    #[serde(rename = "print")]
84    Print,
85    #[serde(rename = "no-override")]
86    NoOverride,
87}
88
89#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
90pub enum PageEmulateMediaParamsColorScheme {
91    #[default]
92    #[serde(rename = "dark")]
93    Dark,
94    #[serde(rename = "light")]
95    Light,
96    #[serde(rename = "no-preference")]
97    NoPreference,
98    #[serde(rename = "no-override")]
99    NoOverride,
100}
101
102#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
103pub enum PageEmulateMediaParamsReducedMotion {
104    #[default]
105    #[serde(rename = "reduce")]
106    Reduce,
107    #[serde(rename = "no-preference")]
108    NoPreference,
109    #[serde(rename = "no-override")]
110    NoOverride,
111}
112
113#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
114pub enum PageEmulateMediaParamsForcedColors {
115    #[default]
116    #[serde(rename = "active")]
117    Active,
118    #[serde(rename = "none")]
119    None,
120    #[serde(rename = "no-override")]
121    NoOverride,
122}
123
124#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
125pub enum PageEmulateMediaParamsContrast {
126    #[default]
127    #[serde(rename = "no-preference")]
128    NoPreference,
129    #[serde(rename = "more")]
130    More,
131    #[serde(rename = "no-override")]
132    NoOverride,
133}
134
135/// Parameters of `Page.emulateMedia` (Emulate media).
136#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
137pub struct PageEmulateMediaParams {
138    #[serde(rename = "media", default, skip_serializing_if = "Option::is_none")]
139    pub media: Option<PageEmulateMediaParamsMedia>,
140    #[serde(rename = "colorScheme", default, skip_serializing_if = "Option::is_none")]
141    pub color_scheme: Option<PageEmulateMediaParamsColorScheme>,
142    #[serde(rename = "reducedMotion", default, skip_serializing_if = "Option::is_none")]
143    pub reduced_motion: Option<PageEmulateMediaParamsReducedMotion>,
144    #[serde(rename = "forcedColors", default, skip_serializing_if = "Option::is_none")]
145    pub forced_colors: Option<PageEmulateMediaParamsForcedColors>,
146    #[serde(rename = "contrast", default, skip_serializing_if = "Option::is_none")]
147    pub contrast: Option<PageEmulateMediaParamsContrast>,
148}
149
150/// Parameters of `Page.exposeBinding` (Expose binding).
151#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
152pub struct PageExposeBindingParams {
153    #[serde(rename = "name")]
154    pub name: String,
155    #[serde(rename = "noGlobal", default, skip_serializing_if = "Option::is_none")]
156    pub no_global: Option<bool>,
157}
158
159/// Result of `Page.exposeBinding` (Expose binding).
160#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
161pub struct PageExposeBindingResult {
162    #[serde(rename = "disposable")]
163    pub disposable: Ref<Disposable>,
164}
165
166/// Parameters of `Page.goBack` (Go back).
167#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
168pub struct PageGoBackParams {
169    #[serde(rename = "waitUntil", default, skip_serializing_if = "Option::is_none")]
170    pub wait_until: Option<LifecycleEvent>,
171}
172
173/// Result of `Page.goBack` (Go back).
174#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
175pub struct PageGoBackResult {
176    #[serde(rename = "response", default, skip_serializing_if = "Option::is_none")]
177    pub response: Option<Ref<Response>>,
178}
179
180/// Parameters of `Page.goForward` (Go forward).
181#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
182pub struct PageGoForwardParams {
183    #[serde(rename = "waitUntil", default, skip_serializing_if = "Option::is_none")]
184    pub wait_until: Option<LifecycleEvent>,
185}
186
187/// Result of `Page.goForward` (Go forward).
188#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
189pub struct PageGoForwardResult {
190    #[serde(rename = "response", default, skip_serializing_if = "Option::is_none")]
191    pub response: Option<Ref<Response>>,
192}
193
194/// Parameters of `Page.registerLocatorHandler` (Register locator handler).
195#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
196pub struct PageRegisterLocatorHandlerParams {
197    #[serde(rename = "selector")]
198    pub selector: String,
199    #[serde(rename = "noWaitAfter", default, skip_serializing_if = "Option::is_none")]
200    pub no_wait_after: Option<bool>,
201}
202
203/// Result of `Page.registerLocatorHandler` (Register locator handler).
204#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
205pub struct PageRegisterLocatorHandlerResult {
206    #[serde(rename = "uid")]
207    pub uid: i64,
208}
209
210/// Parameters of `Page.resolveLocatorHandlerNoReply`.
211#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
212pub struct PageResolveLocatorHandlerNoReplyParams {
213    #[serde(rename = "uid")]
214    pub uid: i64,
215    #[serde(rename = "remove", default, skip_serializing_if = "Option::is_none")]
216    pub remove: Option<bool>,
217}
218
219/// Parameters of `Page.unregisterLocatorHandler` (Unregister locator handler).
220#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
221pub struct PageUnregisterLocatorHandlerParams {
222    #[serde(rename = "uid")]
223    pub uid: i64,
224}
225
226/// Parameters of `Page.reload` (Reload).
227#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
228pub struct PageReloadParams {
229    #[serde(rename = "waitUntil", default, skip_serializing_if = "Option::is_none")]
230    pub wait_until: Option<LifecycleEvent>,
231}
232
233/// Result of `Page.reload` (Reload).
234#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
235pub struct PageReloadResult {
236    #[serde(rename = "response", default, skip_serializing_if = "Option::is_none")]
237    pub response: Option<Ref<Response>>,
238}
239
240#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
241pub struct PageExpectScreenshotParamsLocator {
242    #[serde(rename = "frame")]
243    pub frame: Ref<Frame>,
244    #[serde(rename = "selector")]
245    pub selector: String,
246}
247
248#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
249pub enum PageExpectScreenshotParamsType {
250    #[default]
251    #[serde(rename = "png")]
252    Png,
253    #[serde(rename = "webp")]
254    Webp,
255}
256
257/// Parameters of `Page.expectScreenshot` (Expect screenshot).
258#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
259pub struct PageExpectScreenshotParams {
260    #[serde(rename = "expected", default, skip_serializing_if = "Option::is_none")]
261    pub expected: Option<Binary>,
262    #[serde(rename = "isNot")]
263    pub is_not: bool,
264    #[serde(rename = "locator", default, skip_serializing_if = "Option::is_none")]
265    pub locator: Option<PageExpectScreenshotParamsLocator>,
266    #[serde(rename = "comparator", default, skip_serializing_if = "Option::is_none")]
267    pub comparator: Option<String>,
268    #[serde(rename = "maxDiffPixels", default, skip_serializing_if = "Option::is_none")]
269    pub max_diff_pixels: Option<i64>,
270    #[serde(rename = "maxDiffPixelRatio", default, skip_serializing_if = "Option::is_none")]
271    pub max_diff_pixel_ratio: Option<f64>,
272    #[serde(rename = "threshold", default, skip_serializing_if = "Option::is_none")]
273    pub threshold: Option<f64>,
274    #[serde(rename = "fullPage", default, skip_serializing_if = "Option::is_none")]
275    pub full_page: Option<bool>,
276    #[serde(rename = "clip", default, skip_serializing_if = "Option::is_none")]
277    pub clip: Option<Rect>,
278    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
279    pub r#type: Option<PageExpectScreenshotParamsType>,
280    /// Properties of the `CommonScreenshotOptions` mixin.
281    #[serde(flatten)]
282    pub common_screenshot_options: CommonScreenshotOptions,
283}
284
285/// Result of `Page.expectScreenshot` (Expect screenshot).
286#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
287pub struct PageExpectScreenshotResult {
288    #[serde(rename = "actual", default, skip_serializing_if = "Option::is_none")]
289    pub actual: Option<Binary>,
290}
291
292#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
293pub enum PageScreenshotParamsType {
294    #[default]
295    #[serde(rename = "png")]
296    Png,
297    #[serde(rename = "jpeg")]
298    Jpeg,
299    #[serde(rename = "webp")]
300    Webp,
301}
302
303/// Parameters of `Page.screenshot` (Screenshot).
304#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
305pub struct PageScreenshotParams {
306    #[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
307    pub r#type: Option<PageScreenshotParamsType>,
308    #[serde(rename = "quality", default, skip_serializing_if = "Option::is_none")]
309    pub quality: Option<i64>,
310    #[serde(rename = "fullPage", default, skip_serializing_if = "Option::is_none")]
311    pub full_page: Option<bool>,
312    #[serde(rename = "clip", default, skip_serializing_if = "Option::is_none")]
313    pub clip: Option<Rect>,
314    /// Properties of the `CommonScreenshotOptions` mixin.
315    #[serde(flatten)]
316    pub common_screenshot_options: CommonScreenshotOptions,
317}
318
319/// Result of `Page.screenshot` (Screenshot).
320#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
321pub struct PageScreenshotResult {
322    #[serde(rename = "binary")]
323    pub binary: Binary,
324}
325
326/// Parameters of `Page.setExtraHTTPHeaders` (Set extra HTTP headers).
327#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
328pub struct PageSetExtraHTTPHeadersParams {
329    #[serde(rename = "headers")]
330    pub headers: Vec<NameValue>,
331}
332
333#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
334pub struct PageSetNetworkInterceptionPatternsParamsPatterns {
335    #[serde(rename = "glob", default, skip_serializing_if = "Option::is_none")]
336    pub glob: Option<String>,
337    #[serde(rename = "regexSource", default, skip_serializing_if = "Option::is_none")]
338    pub regex_source: Option<String>,
339    #[serde(rename = "regexFlags", default, skip_serializing_if = "Option::is_none")]
340    pub regex_flags: Option<String>,
341    #[serde(rename = "urlPattern", default, skip_serializing_if = "Option::is_none")]
342    pub url_pattern: Option<URLPattern>,
343}
344
345/// Parameters of `Page.setNetworkInterceptionPatterns` (Route requests).
346#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
347pub struct PageSetNetworkInterceptionPatternsParams {
348    #[serde(rename = "patterns")]
349    pub patterns: Vec<PageSetNetworkInterceptionPatternsParamsPatterns>,
350}
351
352#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
353pub struct PageSetWebSocketInterceptionPatternsParamsPatterns {
354    #[serde(rename = "glob", default, skip_serializing_if = "Option::is_none")]
355    pub glob: Option<String>,
356    #[serde(rename = "regexSource", default, skip_serializing_if = "Option::is_none")]
357    pub regex_source: Option<String>,
358    #[serde(rename = "regexFlags", default, skip_serializing_if = "Option::is_none")]
359    pub regex_flags: Option<String>,
360    #[serde(rename = "urlPattern", default, skip_serializing_if = "Option::is_none")]
361    pub url_pattern: Option<URLPattern>,
362}
363
364/// Parameters of `Page.setWebSocketInterceptionPatterns` (Route WebSockets).
365#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
366pub struct PageSetWebSocketInterceptionPatternsParams {
367    #[serde(rename = "patterns")]
368    pub patterns: Vec<PageSetWebSocketInterceptionPatternsParamsPatterns>,
369}
370
371#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
372pub struct PageSetViewportSizeParamsViewportSize {
373    #[serde(rename = "width")]
374    pub width: i64,
375    #[serde(rename = "height")]
376    pub height: i64,
377}
378
379/// Parameters of `Page.setViewportSize` (Set viewport size).
380#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
381pub struct PageSetViewportSizeParams {
382    #[serde(rename = "viewportSize")]
383    pub viewport_size: PageSetViewportSizeParamsViewportSize,
384}
385
386/// Parameters of `Page.keyboardDown` (Key down "{key}").
387#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
388pub struct PageKeyboardDownParams {
389    #[serde(rename = "key")]
390    pub key: String,
391}
392
393/// Parameters of `Page.keyboardUp` (Key up "{key}").
394#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
395pub struct PageKeyboardUpParams {
396    #[serde(rename = "key")]
397    pub key: String,
398}
399
400/// Parameters of `Page.keyboardInsertText` (Insert "{text}").
401#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
402pub struct PageKeyboardInsertTextParams {
403    #[serde(rename = "text")]
404    pub text: String,
405}
406
407/// Parameters of `Page.keyboardType` (Type "{text}").
408#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
409pub struct PageKeyboardTypeParams {
410    #[serde(rename = "text")]
411    pub text: String,
412    #[serde(rename = "delay", default, skip_serializing_if = "Option::is_none")]
413    pub delay: Option<f64>,
414}
415
416/// Parameters of `Page.keyboardPress` (Press "{key}").
417#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
418pub struct PageKeyboardPressParams {
419    #[serde(rename = "key")]
420    pub key: String,
421    #[serde(rename = "delay", default, skip_serializing_if = "Option::is_none")]
422    pub delay: Option<f64>,
423}
424
425/// Parameters of `Page.mouseMove` (Mouse move).
426#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
427pub struct PageMouseMoveParams {
428    #[serde(rename = "x")]
429    pub x: f64,
430    #[serde(rename = "y")]
431    pub y: f64,
432    #[serde(rename = "steps", default, skip_serializing_if = "Option::is_none")]
433    pub steps: Option<i64>,
434}
435
436#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
437pub enum PageMouseDownParamsButton {
438    #[default]
439    #[serde(rename = "left")]
440    Left,
441    #[serde(rename = "right")]
442    Right,
443    #[serde(rename = "middle")]
444    Middle,
445}
446
447/// Parameters of `Page.mouseDown` (Mouse down).
448#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
449pub struct PageMouseDownParams {
450    #[serde(rename = "button", default, skip_serializing_if = "Option::is_none")]
451    pub button: Option<PageMouseDownParamsButton>,
452    #[serde(rename = "clickCount", default, skip_serializing_if = "Option::is_none")]
453    pub click_count: Option<i64>,
454}
455
456#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
457pub enum PageMouseUpParamsButton {
458    #[default]
459    #[serde(rename = "left")]
460    Left,
461    #[serde(rename = "right")]
462    Right,
463    #[serde(rename = "middle")]
464    Middle,
465}
466
467/// Parameters of `Page.mouseUp` (Mouse up).
468#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
469pub struct PageMouseUpParams {
470    #[serde(rename = "button", default, skip_serializing_if = "Option::is_none")]
471    pub button: Option<PageMouseUpParamsButton>,
472    #[serde(rename = "clickCount", default, skip_serializing_if = "Option::is_none")]
473    pub click_count: Option<i64>,
474}
475
476#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
477pub enum PageMouseClickParamsButton {
478    #[default]
479    #[serde(rename = "left")]
480    Left,
481    #[serde(rename = "right")]
482    Right,
483    #[serde(rename = "middle")]
484    Middle,
485}
486
487/// Parameters of `Page.mouseClick` (Click).
488#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
489pub struct PageMouseClickParams {
490    #[serde(rename = "x")]
491    pub x: f64,
492    #[serde(rename = "y")]
493    pub y: f64,
494    #[serde(rename = "delay", default, skip_serializing_if = "Option::is_none")]
495    pub delay: Option<f64>,
496    #[serde(rename = "button", default, skip_serializing_if = "Option::is_none")]
497    pub button: Option<PageMouseClickParamsButton>,
498    #[serde(rename = "clickCount", default, skip_serializing_if = "Option::is_none")]
499    pub click_count: Option<i64>,
500}
501
502/// Parameters of `Page.mouseWheel` (Mouse wheel).
503#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
504pub struct PageMouseWheelParams {
505    #[serde(rename = "deltaX")]
506    pub delta_x: f64,
507    #[serde(rename = "deltaY")]
508    pub delta_y: f64,
509}
510
511/// Parameters of `Page.touchscreenTap` (Tap).
512#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
513pub struct PageTouchscreenTapParams {
514    #[serde(rename = "x")]
515    pub x: f64,
516    #[serde(rename = "y")]
517    pub y: f64,
518}
519
520/// Parameters of `Page.pageErrors` (Get page errors).
521#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
522pub struct PagePageErrorsParams {
523    #[serde(rename = "filter", default, skip_serializing_if = "Option::is_none")]
524    pub filter: Option<ConsoleMessagesFilter>,
525}
526
527/// Result of `Page.pageErrors` (Get page errors).
528#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
529pub struct PagePageErrorsResult {
530    #[serde(rename = "errors")]
531    pub errors: Vec<SerializedError>,
532}
533
534#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
535pub struct PagePdfParamsMargin {
536    #[serde(rename = "top", default, skip_serializing_if = "Option::is_none")]
537    pub top: Option<String>,
538    #[serde(rename = "bottom", default, skip_serializing_if = "Option::is_none")]
539    pub bottom: Option<String>,
540    #[serde(rename = "left", default, skip_serializing_if = "Option::is_none")]
541    pub left: Option<String>,
542    #[serde(rename = "right", default, skip_serializing_if = "Option::is_none")]
543    pub right: Option<String>,
544}
545
546/// Parameters of `Page.pdf` (PDF).
547#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
548pub struct PagePdfParams {
549    #[serde(rename = "scale", default, skip_serializing_if = "Option::is_none")]
550    pub scale: Option<f64>,
551    #[serde(rename = "displayHeaderFooter", default, skip_serializing_if = "Option::is_none")]
552    pub display_header_footer: Option<bool>,
553    #[serde(rename = "headerTemplate", default, skip_serializing_if = "Option::is_none")]
554    pub header_template: Option<String>,
555    #[serde(rename = "footerTemplate", default, skip_serializing_if = "Option::is_none")]
556    pub footer_template: Option<String>,
557    #[serde(rename = "printBackground", default, skip_serializing_if = "Option::is_none")]
558    pub print_background: Option<bool>,
559    #[serde(rename = "landscape", default, skip_serializing_if = "Option::is_none")]
560    pub landscape: Option<bool>,
561    #[serde(rename = "pageRanges", default, skip_serializing_if = "Option::is_none")]
562    pub page_ranges: Option<String>,
563    #[serde(rename = "format", default, skip_serializing_if = "Option::is_none")]
564    pub format: Option<String>,
565    #[serde(rename = "width", default, skip_serializing_if = "Option::is_none")]
566    pub width: Option<String>,
567    #[serde(rename = "height", default, skip_serializing_if = "Option::is_none")]
568    pub height: Option<String>,
569    #[serde(rename = "preferCSSPageSize", default, skip_serializing_if = "Option::is_none")]
570    pub prefer_css_page_size: Option<bool>,
571    #[serde(rename = "margin", default, skip_serializing_if = "Option::is_none")]
572    pub margin: Option<PagePdfParamsMargin>,
573    #[serde(rename = "tagged", default, skip_serializing_if = "Option::is_none")]
574    pub tagged: Option<bool>,
575    #[serde(rename = "outline", default, skip_serializing_if = "Option::is_none")]
576    pub outline: Option<bool>,
577}
578
579/// Result of `Page.pdf` (PDF).
580#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
581pub struct PagePdfResult {
582    #[serde(rename = "pdf")]
583    pub pdf: Binary,
584}
585
586/// Result of `Page.requests` (Get network requests).
587#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
588pub struct PageRequestsResult {
589    #[serde(rename = "requests")]
590    pub requests: Vec<Ref<Request>>,
591}
592
593/// Parameters of `Page.startJSCoverage` (Start JS coverage).
594#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
595pub struct PageStartJSCoverageParams {
596    #[serde(rename = "resetOnNavigation", default, skip_serializing_if = "Option::is_none")]
597    pub reset_on_navigation: Option<bool>,
598    #[serde(rename = "reportAnonymousScripts", default, skip_serializing_if = "Option::is_none")]
599    pub report_anonymous_scripts: Option<bool>,
600}
601
602#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
603pub struct PageStopJSCoverageResultEntriesFunctionsRanges {
604    #[serde(rename = "startOffset")]
605    pub start_offset: i64,
606    #[serde(rename = "endOffset")]
607    pub end_offset: i64,
608    #[serde(rename = "count")]
609    pub count: i64,
610}
611
612#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
613pub struct PageStopJSCoverageResultEntriesFunctions {
614    #[serde(rename = "functionName")]
615    pub function_name: String,
616    #[serde(rename = "isBlockCoverage")]
617    pub is_block_coverage: bool,
618    #[serde(rename = "ranges")]
619    pub ranges: Vec<PageStopJSCoverageResultEntriesFunctionsRanges>,
620}
621
622#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
623pub struct PageStopJSCoverageResultEntries {
624    #[serde(rename = "url")]
625    pub url: String,
626    #[serde(rename = "scriptId")]
627    pub script_id: String,
628    #[serde(rename = "source", default, skip_serializing_if = "Option::is_none")]
629    pub source: Option<String>,
630    #[serde(rename = "functions")]
631    pub functions: Vec<PageStopJSCoverageResultEntriesFunctions>,
632}
633
634/// Result of `Page.stopJSCoverage` (Stop JS coverage).
635#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
636pub struct PageStopJSCoverageResult {
637    #[serde(rename = "entries")]
638    pub entries: Vec<PageStopJSCoverageResultEntries>,
639}
640
641/// Parameters of `Page.startCSSCoverage` (Start CSS coverage).
642#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
643pub struct PageStartCSSCoverageParams {
644    #[serde(rename = "resetOnNavigation", default, skip_serializing_if = "Option::is_none")]
645    pub reset_on_navigation: Option<bool>,
646}
647
648#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
649pub struct PageStopCSSCoverageResultEntriesRanges {
650    #[serde(rename = "start")]
651    pub start: i64,
652    #[serde(rename = "end")]
653    pub end: i64,
654}
655
656#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
657pub struct PageStopCSSCoverageResultEntries {
658    #[serde(rename = "url")]
659    pub url: String,
660    #[serde(rename = "text", default, skip_serializing_if = "Option::is_none")]
661    pub text: Option<String>,
662    #[serde(rename = "ranges")]
663    pub ranges: Vec<PageStopCSSCoverageResultEntriesRanges>,
664}
665
666/// Result of `Page.stopCSSCoverage` (Stop CSS coverage).
667#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
668pub struct PageStopCSSCoverageResult {
669    #[serde(rename = "entries")]
670    pub entries: Vec<PageStopCSSCoverageResultEntries>,
671}
672
673/// Result of `Page.pickLocator` (Pick locator).
674#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
675pub struct PagePickLocatorResult {
676    #[serde(rename = "selector")]
677    pub selector: String,
678}
679
680/// Parameters of `Page.screencastShowOverlay` (Show overlay).
681#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
682pub struct PageScreencastShowOverlayParams {
683    #[serde(rename = "html")]
684    pub html: String,
685    #[serde(rename = "duration", default, skip_serializing_if = "Option::is_none")]
686    pub duration: Option<f64>,
687}
688
689/// Result of `Page.screencastShowOverlay` (Show overlay).
690#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
691pub struct PageScreencastShowOverlayResult {
692    #[serde(rename = "id")]
693    pub id: String,
694}
695
696/// Parameters of `Page.screencastRemoveOverlay` (Remove overlay).
697#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
698pub struct PageScreencastRemoveOverlayParams {
699    #[serde(rename = "id")]
700    pub id: String,
701}
702
703/// Parameters of `Page.screencastChapter` (Show chapter overlay).
704#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
705pub struct PageScreencastChapterParams {
706    #[serde(rename = "title")]
707    pub title: String,
708    #[serde(rename = "description", default, skip_serializing_if = "Option::is_none")]
709    pub description: Option<String>,
710    #[serde(rename = "duration", default, skip_serializing_if = "Option::is_none")]
711    pub duration: Option<f64>,
712}
713
714/// Parameters of `Page.screencastSetOverlayVisible` (Set overlay visibility).
715#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
716pub struct PageScreencastSetOverlayVisibleParams {
717    #[serde(rename = "visible")]
718    pub visible: bool,
719}
720
721/// Parameters of `Page.screencastShowActions` (Show actions).
722#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
723pub struct PageScreencastShowActionsParams {
724    /// Properties of the `ShowActionsOptions` mixin.
725    #[serde(flatten)]
726    pub show_actions_options: ShowActionsOptions,
727}
728
729#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
730pub struct PageScreencastStartParamsSize {
731    #[serde(rename = "width")]
732    pub width: i64,
733    #[serde(rename = "height")]
734    pub height: i64,
735}
736
737/// Parameters of `Page.screencastStart` (Start screencast).
738#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
739pub struct PageScreencastStartParams {
740    #[serde(rename = "size", default, skip_serializing_if = "Option::is_none")]
741    pub size: Option<PageScreencastStartParamsSize>,
742    #[serde(rename = "quality", default, skip_serializing_if = "Option::is_none")]
743    pub quality: Option<i64>,
744    #[serde(rename = "sendFrames", default, skip_serializing_if = "Option::is_none")]
745    pub send_frames: Option<bool>,
746    #[serde(rename = "record", default, skip_serializing_if = "Option::is_none")]
747    pub record: Option<bool>,
748}
749
750/// Result of `Page.screencastStart` (Start screencast).
751#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
752pub struct PageScreencastStartResult {
753    #[serde(rename = "artifact", default, skip_serializing_if = "Option::is_none")]
754    pub artifact: Option<Ref<Artifact>>,
755}
756
757/// Parameters of `Page.screencastFrameAck`.
758#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
759pub struct PageScreencastFrameAckParams {
760    #[serde(rename = "frameId")]
761    pub frame_id: i64,
762}
763
764#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
765pub enum PageUpdateSubscriptionParamsEvent {
766    #[default]
767    #[serde(rename = "console")]
768    Console,
769    #[serde(rename = "dialog")]
770    Dialog,
771    #[serde(rename = "dialogClosed")]
772    DialogClosed,
773    #[serde(rename = "fileChooser")]
774    FileChooser,
775    #[serde(rename = "request")]
776    Request,
777    #[serde(rename = "response")]
778    Response,
779    #[serde(rename = "requestFinished")]
780    RequestFinished,
781    #[serde(rename = "requestFailed")]
782    RequestFailed,
783}
784
785/// Parameters of `Page.updateSubscription`.
786#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
787pub struct PageUpdateSubscriptionParams {
788    #[serde(rename = "event")]
789    pub event: PageUpdateSubscriptionParamsEvent,
790    #[serde(rename = "enabled")]
791    pub enabled: bool,
792}
793
794/// Parameters of `Page.setDockTile`.
795#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
796pub struct PageSetDockTileParams {
797    #[serde(rename = "image")]
798    pub image: Binary,
799}
800
801#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
802pub enum PageWebStorageItemsParamsKind {
803    #[default]
804    #[serde(rename = "local")]
805    Local,
806    #[serde(rename = "session")]
807    Session,
808}
809
810/// Parameters of `Page.webStorageItems` (Get WebStorage items).
811#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
812pub struct PageWebStorageItemsParams {
813    #[serde(rename = "kind")]
814    pub kind: PageWebStorageItemsParamsKind,
815}
816
817/// Result of `Page.webStorageItems` (Get WebStorage items).
818#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
819pub struct PageWebStorageItemsResult {
820    #[serde(rename = "items")]
821    pub items: Vec<NameValue>,
822}
823
824#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
825pub enum PageWebStorageGetItemParamsKind {
826    #[default]
827    #[serde(rename = "local")]
828    Local,
829    #[serde(rename = "session")]
830    Session,
831}
832
833/// Parameters of `Page.webStorageGetItem` (Get WebStorage item).
834#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
835pub struct PageWebStorageGetItemParams {
836    #[serde(rename = "kind")]
837    pub kind: PageWebStorageGetItemParamsKind,
838    #[serde(rename = "name")]
839    pub name: String,
840}
841
842/// Result of `Page.webStorageGetItem` (Get WebStorage item).
843#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
844pub struct PageWebStorageGetItemResult {
845    #[serde(rename = "value", default, skip_serializing_if = "Option::is_none")]
846    pub value: Option<String>,
847}
848
849#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
850pub enum PageWebStorageSetItemParamsKind {
851    #[default]
852    #[serde(rename = "local")]
853    Local,
854    #[serde(rename = "session")]
855    Session,
856}
857
858/// Parameters of `Page.webStorageSetItem` (Set WebStorage item).
859#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
860pub struct PageWebStorageSetItemParams {
861    #[serde(rename = "kind")]
862    pub kind: PageWebStorageSetItemParamsKind,
863    #[serde(rename = "name")]
864    pub name: String,
865    #[serde(rename = "value")]
866    pub value: String,
867}
868
869#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
870pub enum PageWebStorageRemoveItemParamsKind {
871    #[default]
872    #[serde(rename = "local")]
873    Local,
874    #[serde(rename = "session")]
875    Session,
876}
877
878/// Parameters of `Page.webStorageRemoveItem` (Remove WebStorage item).
879#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
880pub struct PageWebStorageRemoveItemParams {
881    #[serde(rename = "kind")]
882    pub kind: PageWebStorageRemoveItemParamsKind,
883    #[serde(rename = "name")]
884    pub name: String,
885}
886
887#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, Serialize, Deserialize)]
888pub enum PageWebStorageClearParamsKind {
889    #[default]
890    #[serde(rename = "local")]
891    Local,
892    #[serde(rename = "session")]
893    Session,
894}
895
896/// Parameters of `Page.webStorageClear` (Clear WebStorage).
897#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
898pub struct PageWebStorageClearParams {
899    #[serde(rename = "kind")]
900    pub kind: PageWebStorageClearParamsKind,
901}
902
903/// Payload of the `Page.bindingCall` event.
904#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
905pub struct PageBindingCallEventParams {
906    #[serde(rename = "binding")]
907    pub binding: Ref<BindingCall>,
908}
909
910/// Payload of the `Page.download` event.
911#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
912pub struct PageDownloadEventParams {
913    #[serde(rename = "url")]
914    pub url: String,
915    #[serde(rename = "suggestedFilename")]
916    pub suggested_filename: String,
917    #[serde(rename = "artifact")]
918    pub artifact: Ref<Artifact>,
919}
920
921#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
922pub struct PageViewportSizeChangedEventParamsViewportSize {
923    #[serde(rename = "width")]
924    pub width: i64,
925    #[serde(rename = "height")]
926    pub height: i64,
927}
928
929/// Payload of the `Page.viewportSizeChanged` event.
930#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
931pub struct PageViewportSizeChangedEventParams {
932    #[serde(rename = "viewportSize", default, skip_serializing_if = "Option::is_none")]
933    pub viewport_size: Option<PageViewportSizeChangedEventParamsViewportSize>,
934}
935
936/// Payload of the `Page.fileChooser` event.
937#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
938pub struct PageFileChooserEventParams {
939    #[serde(rename = "element")]
940    pub element: Ref<ElementHandle>,
941    #[serde(rename = "isMultiple")]
942    pub is_multiple: bool,
943}
944