...

Source file src/github.com/playwright-community/playwright-go/generated-structs.go

Documentation: github.com/playwright-community/playwright-go

     1  package playwright
     2  
     3  type BrowserNewContextOptions struct {
     4  	// Whether to automatically download all the attachments. Defaults to `true` where
     5  	// all the downloads are accepted.
     6  	AcceptDownloads *bool `json:"acceptDownloads"`
     7  	// When using Page.Goto(), Page.Route(), Page.WaitForURL(), Page.WaitForRequest(),
     8  	// or Page.WaitForResponse() it takes the base URL in consideration by using the [`URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL)
     9  	// constructor for building the corresponding URL. Examples:
    10  	// baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html`
    11  	// baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in
    12  	// `http://localhost:3000/foo/bar.html`
    13  	// baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to
    14  	// `./bar.html` results in `http://localhost:3000/bar.html`
    15  	BaseURL *string `json:"baseURL"`
    16  	// Toggles bypassing page's Content-Security-Policy.
    17  	BypassCSP *bool `json:"bypassCSP"`
    18  	// Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`,
    19  	// `'dark'`, `'no-preference'`. See Page.EmulateMedia() for more details. Defaults
    20  	// to `'light'`.
    21  	ColorScheme *ColorScheme `json:"colorScheme"`
    22  	// Specify device scale factor (can be thought of as dpr). Defaults to `1`.
    23  	DeviceScaleFactor *float64 `json:"deviceScaleFactor"`
    24  	// An object containing additional HTTP headers to be sent with every request.
    25  	ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"`
    26  	// Emulates `'forced-colors'` media feature, supported values are `'active'`, `'none'`.
    27  	// See Page.EmulateMedia() for more details. Defaults to `'none'`.
    28  	// It's not supported in WebKit, see [here](https://bugs.webkit.org/show_bug.cgi?id=225281)
    29  	// in their issue tracker.
    30  	ForcedColors *ForcedColors                        `json:"forcedColors"`
    31  	Geolocation  *BrowserNewContextOptionsGeolocation `json:"geolocation"`
    32  	// Specifies if viewport supports touch events. Defaults to false.
    33  	HasTouch *bool `json:"hasTouch"`
    34  	// Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
    35  	HttpCredentials *BrowserNewContextOptionsHttpCredentials `json:"httpCredentials"`
    36  	// Whether to ignore HTTPS errors when sending network requests. Defaults to `false`.
    37  	IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"`
    38  	// Whether the `meta viewport` tag is taken into account and touch events are enabled.
    39  	// Defaults to `false`. Not supported in Firefox.
    40  	IsMobile *bool `json:"isMobile"`
    41  	// Whether or not to enable JavaScript in the context. Defaults to `true`.
    42  	JavaScriptEnabled *bool `json:"javaScriptEnabled"`
    43  	// Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language`
    44  	// value, `Accept-Language` request header value as well as number and date formatting
    45  	// rules.
    46  	Locale *string `json:"locale"`
    47  	// Does not enforce fixed viewport, allows resizing window in the headed mode.
    48  	NoViewport *bool `json:"noViewport"`
    49  	// Whether to emulate network being offline. Defaults to `false`.
    50  	Offline *bool `json:"offline"`
    51  	// A list of permissions to grant to all pages in this context. See BrowserContext.GrantPermissions()
    52  	// for more details.
    53  	Permissions []string `json:"permissions"`
    54  	// Network proxy settings to use with this context.
    55  	// For Chromium on Windows the browser needs to be launched with the global proxy for
    56  	// this option to work. If all contexts override the proxy, global proxy will be never
    57  	// used and can be any string, for example `launch({ proxy: { server: 'http://per-context'
    58  	// } })`.
    59  	Proxy *BrowserNewContextOptionsProxy `json:"proxy"`
    60  	// Enables video recording for all pages into `recordVideo.dir` directory. If not specified
    61  	// videos are not recorded. Make sure to await BrowserContext.Close() for videos to
    62  	// be saved.
    63  	RecordVideo *BrowserNewContextOptionsRecordVideo `json:"recordVideo"`
    64  	// Emulates `'prefers-reduced-motion'` media feature, supported values are `'reduce'`,
    65  	// `'no-preference'`. See Page.EmulateMedia() for more details. Defaults to `'no-preference'`.
    66  	ReducedMotion *ReducedMotion `json:"reducedMotion"`
    67  	// Emulates consistent window screen size available inside web page via `window.screen`.
    68  	// Is only used when the `viewport` is set.
    69  	Screen *BrowserNewContextOptionsScreen `json:"screen"`
    70  	// Populates context with given storage state. This option can be used to initialize
    71  	// context with logged-in information obtained via BrowserContext.StorageState(). Either
    72  	// a path to the file with saved storage, or an object with the following fields:
    73  	StorageState *BrowserNewContextOptionsStorageState `json:"storageState"`
    74  	// Populates context with given storage state. This option can be used to initialize
    75  	// context with logged-in information obtained via BrowserContext.StorageState(). Path
    76  	// to the file with saved storage state.
    77  	StorageStatePath *string `json:"storageStatePath"`
    78  	// It specified, enables strict selectors mode for this context. In the strict selectors
    79  	// mode all operations on selectors that imply single target DOM element will throw
    80  	// when more than one element matches the selector. See Locator to learn more about
    81  	// the strict mode.
    82  	StrictSelectors *bool `json:"strictSelectors"`
    83  	// Changes the timezone of the context. See [ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)
    84  	// for a list of supported timezone IDs.
    85  	TimezoneId *string `json:"timezoneId"`
    86  	// Specific user agent to use in this context.
    87  	UserAgent *string `json:"userAgent"`
    88  	// Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport`
    89  	// disables the fixed viewport.
    90  	Viewport *BrowserNewContextOptionsViewport `json:"viewport"`
    91  }
    92  type BrowserGeolocation struct {
    93  	// Latitude between -90 and 90.
    94  	Latitude *float64 `json:"latitude"`
    95  	// Longitude between -180 and 180.
    96  	Longitude *float64 `json:"longitude"`
    97  	// Non-negative accuracy value. Defaults to `0`.
    98  	Accuracy *float64 `json:"accuracy"`
    99  }
   100  type BrowserHttpCredentials struct {
   101  	Username *string `json:"username"`
   102  	Password *string `json:"password"`
   103  }
   104  type BrowserProxy struct {
   105  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
   106  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
   107  	// is considered an HTTP proxy.
   108  	Server *string `json:"server"`
   109  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
   110  	// .domain.com"`.
   111  	Bypass *string `json:"bypass"`
   112  	// Optional username to use if HTTP proxy requires authentication.
   113  	Username *string `json:"username"`
   114  	// Optional password to use if HTTP proxy requires authentication.
   115  	Password *string `json:"password"`
   116  }
   117  type BrowserRecordVideo struct {
   118  	// Path to the directory to put videos into.
   119  	Dir *string `json:"dir"`
   120  	// Optional dimensions of the recorded videos. If not specified the size will be equal
   121  	// to `viewport` scaled down to fit into 800x800. If `viewport` is not configured explicitly
   122  	// the video size defaults to 800x450. Actual picture of each page will be scaled down
   123  	// if necessary to fit the specified size.
   124  	Size *BrowserRecordVideoSize `json:"size"`
   125  }
   126  type BrowserScreen struct {
   127  	// page width in pixels.
   128  	Width *int `json:"width"`
   129  	// page height in pixels.
   130  	Height *int `json:"height"`
   131  }
   132  type BrowserStorageState struct {
   133  	// cookies to set for context
   134  	Cookies []BrowserStorageStateCookies `json:"cookies"`
   135  	// localStorage to set for context
   136  	Origins []BrowserStorageStateOrigins `json:"origins"`
   137  }
   138  type BrowserViewport struct {
   139  	// page width in pixels.
   140  	Width *int `json:"width"`
   141  	// page height in pixels.
   142  	Height *int `json:"height"`
   143  }
   144  type BrowserNewPageOptions struct {
   145  	// Whether to automatically download all the attachments. Defaults to `true` where
   146  	// all the downloads are accepted.
   147  	AcceptDownloads *bool `json:"acceptDownloads"`
   148  	// When using Page.Goto(), Page.Route(), Page.WaitForURL(), Page.WaitForRequest(),
   149  	// or Page.WaitForResponse() it takes the base URL in consideration by using the [`URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL)
   150  	// constructor for building the corresponding URL. Examples:
   151  	// baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html`
   152  	// baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in
   153  	// `http://localhost:3000/foo/bar.html`
   154  	// baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to
   155  	// `./bar.html` results in `http://localhost:3000/bar.html`
   156  	BaseURL *string `json:"baseURL"`
   157  	// Toggles bypassing page's Content-Security-Policy.
   158  	BypassCSP *bool `json:"bypassCSP"`
   159  	// Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`,
   160  	// `'dark'`, `'no-preference'`. See Page.EmulateMedia() for more details. Defaults
   161  	// to `'light'`.
   162  	ColorScheme *ColorScheme `json:"colorScheme"`
   163  	// Specify device scale factor (can be thought of as dpr). Defaults to `1`.
   164  	DeviceScaleFactor *float64 `json:"deviceScaleFactor"`
   165  	// An object containing additional HTTP headers to be sent with every request.
   166  	ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"`
   167  	// Emulates `'forced-colors'` media feature, supported values are `'active'`, `'none'`.
   168  	// See Page.EmulateMedia() for more details. Defaults to `'none'`.
   169  	// It's not supported in WebKit, see [here](https://bugs.webkit.org/show_bug.cgi?id=225281)
   170  	// in their issue tracker.
   171  	ForcedColors *ForcedColors                     `json:"forcedColors"`
   172  	Geolocation  *BrowserNewPageOptionsGeolocation `json:"geolocation"`
   173  	// Specifies if viewport supports touch events. Defaults to false.
   174  	HasTouch *bool `json:"hasTouch"`
   175  	// Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
   176  	HttpCredentials *BrowserNewPageOptionsHttpCredentials `json:"httpCredentials"`
   177  	// Whether to ignore HTTPS errors when sending network requests. Defaults to `false`.
   178  	IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"`
   179  	// Whether the `meta viewport` tag is taken into account and touch events are enabled.
   180  	// Defaults to `false`. Not supported in Firefox.
   181  	IsMobile *bool `json:"isMobile"`
   182  	// Whether or not to enable JavaScript in the context. Defaults to `true`.
   183  	JavaScriptEnabled *bool `json:"javaScriptEnabled"`
   184  	// Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language`
   185  	// value, `Accept-Language` request header value as well as number and date formatting
   186  	// rules.
   187  	Locale *string `json:"locale"`
   188  	// Does not enforce fixed viewport, allows resizing window in the headed mode.
   189  	NoViewport *bool `json:"noViewport"`
   190  	// Whether to emulate network being offline. Defaults to `false`.
   191  	Offline *bool `json:"offline"`
   192  	// A list of permissions to grant to all pages in this context. See BrowserContext.GrantPermissions()
   193  	// for more details.
   194  	Permissions []string `json:"permissions"`
   195  	// Network proxy settings to use with this context.
   196  	// For Chromium on Windows the browser needs to be launched with the global proxy for
   197  	// this option to work. If all contexts override the proxy, global proxy will be never
   198  	// used and can be any string, for example `launch({ proxy: { server: 'http://per-context'
   199  	// } })`.
   200  	Proxy *BrowserNewPageOptionsProxy `json:"proxy"`
   201  	// Enables video recording for all pages into `recordVideo.dir` directory. If not specified
   202  	// videos are not recorded. Make sure to await BrowserContext.Close() for videos to
   203  	// be saved.
   204  	RecordVideo *BrowserNewPageOptionsRecordVideo `json:"recordVideo"`
   205  	// Emulates `'prefers-reduced-motion'` media feature, supported values are `'reduce'`,
   206  	// `'no-preference'`. See Page.EmulateMedia() for more details. Defaults to `'no-preference'`.
   207  	ReducedMotion *ReducedMotion `json:"reducedMotion"`
   208  	// Emulates consistent window screen size available inside web page via `window.screen`.
   209  	// Is only used when the `viewport` is set.
   210  	Screen *BrowserNewPageOptionsScreen `json:"screen"`
   211  	// Populates context with given storage state. This option can be used to initialize
   212  	// context with logged-in information obtained via BrowserContext.StorageState(). Either
   213  	// a path to the file with saved storage, or an object with the following fields:
   214  	StorageState *BrowserNewPageOptionsStorageState `json:"storageState"`
   215  	// Populates context with given storage state. This option can be used to initialize
   216  	// context with logged-in information obtained via BrowserContext.StorageState(). Path
   217  	// to the file with saved storage state.
   218  	StorageStatePath *string `json:"storageStatePath"`
   219  	// It specified, enables strict selectors mode for this context. In the strict selectors
   220  	// mode all operations on selectors that imply single target DOM element will throw
   221  	// when more than one element matches the selector. See Locator to learn more about
   222  	// the strict mode.
   223  	StrictSelectors *bool `json:"strictSelectors"`
   224  	// Changes the timezone of the context. See [ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)
   225  	// for a list of supported timezone IDs.
   226  	TimezoneId *string `json:"timezoneId"`
   227  	// Specific user agent to use in this context.
   228  	UserAgent *string `json:"userAgent"`
   229  	// Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport`
   230  	// disables the fixed viewport.
   231  	Viewport *BrowserNewPageOptionsViewport `json:"viewport"`
   232  }
   233  type BrowserContextAddCookiesOptions struct {
   234  	Cookies []BrowserContextAddCookiesOptionsCookies `json:"cookies"`
   235  }
   236  type BrowserContextCookies struct {
   237  	Name  *string `json:"name"`
   238  	Value *string `json:"value"`
   239  	// either url or domain / path are required. Optional.
   240  	URL *string `json:"url"`
   241  	// either url or domain / path are required Optional.
   242  	Domain *string `json:"domain"`
   243  	// either url or domain / path are required Optional.
   244  	Path *string `json:"path"`
   245  	// Unix time in seconds. Optional.
   246  	Expires *float64 `json:"expires"`
   247  	// Optional.
   248  	HttpOnly *bool `json:"httpOnly"`
   249  	// Optional.
   250  	Secure *bool `json:"secure"`
   251  	// Optional.
   252  	SameSite *SameSiteAttribute `json:"sameSite"`
   253  }
   254  type BrowserContextAddInitScriptOptions struct {
   255  	// Optional Script source to be evaluated in all pages in the browser context.
   256  	Script *string `json:"script"`
   257  	// Optional Script path to be evaluated in all pages in the browser context.
   258  	Path *string `json:"path"`
   259  }
   260  
   261  // Result of calling <see cref="BrowserContext.Cookies" />.
   262  type BrowserContextCookiesResult struct {
   263  	Name   string `json:"name"`
   264  	Value  string `json:"value"`
   265  	Domain string `json:"domain"`
   266  	Path   string `json:"path"`
   267  	// Unix time in seconds.
   268  	Expires  float64           `json:"expires"`
   269  	HttpOnly bool              `json:"httpOnly"`
   270  	Secure   bool              `json:"secure"`
   271  	SameSite SameSiteAttribute `json:"sameSite"`
   272  }
   273  type BrowserContextCookiesOptions struct {
   274  	// Optional list of URLs.
   275  	Urls []string `json:"urls"`
   276  }
   277  type BrowserContextExposeBindingOptions struct {
   278  	// Whether to pass the argument as a handle, instead of passing by value. When passing
   279  	// a handle, only one argument is supported. When passing by value, multiple arguments
   280  	// are supported.
   281  	Handle *bool `json:"handle"`
   282  }
   283  type BrowserContextGrantPermissionsOptions struct {
   284  	// The [origin] to grant permissions to, e.g. "https://example.com".
   285  	Origin *string `json:"origin"`
   286  }
   287  type BrowserContextRouteOptions struct {
   288  	// How often a route should be used. By default it will be used every time.
   289  	Times *int `json:"times"`
   290  }
   291  type BrowserContextGeolocation struct {
   292  	// Latitude between -90 and 90.
   293  	Latitude *float64 `json:"latitude"`
   294  	// Longitude between -180 and 180.
   295  	Longitude *float64 `json:"longitude"`
   296  	// Non-negative accuracy value. Defaults to `0`.
   297  	Accuracy *float64 `json:"accuracy"`
   298  }
   299  
   300  // Result of calling <see cref="BrowserContext.StorageState" />.
   301  type BrowserContextStorageStateResult struct {
   302  	Cookies []BrowserContextStorageStateResultCookies `json:"cookies"`
   303  	Origins []BrowserContextStorageStateResultOrigins `json:"origins"`
   304  }
   305  type BrowserContextStorageStateOptions struct {
   306  	// The file path to save the storage state to. If `path` is a relative path, then it
   307  	// is resolved relative to current working directory. If no path is provided, storage
   308  	// state is still returned, but won't be saved to the disk.
   309  	Path *string `json:"path"`
   310  }
   311  type BrowserContextUnrouteOptions struct {
   312  	// Optional handler function used to register a routing with BrowserContext.Route().
   313  	Handler func(Route, Request) `json:"handler"`
   314  }
   315  type BrowserTypeConnectOptions struct {
   316  	// Additional HTTP headers to be sent with web socket connect request. Optional.
   317  	Headers map[string]string `json:"headers"`
   318  	// Slows down Playwright operations by the specified amount of milliseconds. Useful
   319  	// so that you can see what is going on. Defaults to 0.
   320  	SlowMo *float64 `json:"slowMo"`
   321  	// Maximum time in milliseconds to wait for the connection to be established. Defaults
   322  	// to `30000` (30 seconds). Pass `0` to disable timeout.
   323  	Timeout *float64 `json:"timeout"`
   324  }
   325  type BrowserTypeConnectOverCDPOptions struct {
   326  	// Additional HTTP headers to be sent with connect request. Optional.
   327  	Headers map[string]string `json:"headers"`
   328  	// Slows down Playwright operations by the specified amount of milliseconds. Useful
   329  	// so that you can see what is going on. Defaults to 0.
   330  	SlowMo *float64 `json:"slowMo"`
   331  	// Maximum time in milliseconds to wait for the connection to be established. Defaults
   332  	// to `30000` (30 seconds). Pass `0` to disable timeout.
   333  	Timeout *float64 `json:"timeout"`
   334  }
   335  type BrowserTypeLaunchOptions struct {
   336  	// Additional arguments to pass to the browser instance. The list of Chromium flags
   337  	// can be found [here](http://peter.sh/experiments/chromium-command-line-switches/).
   338  	Args []string `json:"args"`
   339  	// Browser distribution channel.  Supported values are "chrome", "chrome-beta", "chrome-dev",
   340  	// "chrome-canary", "msedge", "msedge-beta", "msedge-dev", "msedge-canary". Read more
   341  	// about using [Google Chrome and Microsoft Edge](./browsers.md#google-chrome--microsoft-edge).
   342  	Channel *string `json:"channel"`
   343  	// Enable Chromium sandboxing. Defaults to `false`.
   344  	ChromiumSandbox *bool `json:"chromiumSandbox"`
   345  	// **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If
   346  	// this option is `true`, the `headless` option will be set `false`.
   347  	Devtools *bool `json:"devtools"`
   348  	// If specified, accepted downloads are downloaded into this directory. Otherwise,
   349  	// temporary directory is created and is deleted when browser is closed. In either
   350  	// case, the downloads are deleted when the browser context they were created in is
   351  	// closed.
   352  	DownloadsPath *string `json:"downloadsPath"`
   353  	// Specify environment variables that will be visible to the browser. Defaults to `process.env`.
   354  	Env map[string]string `json:"env"`
   355  	// Path to a browser executable to run instead of the bundled one. If `executablePath`
   356  	// is a relative path, then it is resolved relative to the current working directory.
   357  	// Note that Playwright only works with the bundled Chromium, Firefox or WebKit, use
   358  	// at your own risk.
   359  	ExecutablePath *string `json:"executablePath"`
   360  	// Firefox user preferences. Learn more about the Firefox user preferences at [`about:config`](https://support.mozilla.org/en-US/kb/about-config-editor-firefox).
   361  	FirefoxUserPrefs map[string]interface{} `json:"firefoxUserPrefs"`
   362  	// Close the browser process on SIGHUP. Defaults to `true`.
   363  	HandleSIGHUP *bool `json:"handleSIGHUP"`
   364  	// Close the browser process on Ctrl-C. Defaults to `true`.
   365  	HandleSIGINT *bool `json:"handleSIGINT"`
   366  	// Close the browser process on SIGTERM. Defaults to `true`.
   367  	HandleSIGTERM *bool `json:"handleSIGTERM"`
   368  	// Whether to run browser in headless mode. More details for [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome)
   369  	// and [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode).
   370  	// Defaults to `true` unless the `devtools` option is `true`.
   371  	Headless *bool `json:"headless"`
   372  	// If `true`, Playwright does not pass its own configurations args and only uses the
   373  	// ones from `args`. Dangerous option; use with care. Defaults to `false`.
   374  	IgnoreAllDefaultArgs *bool `json:"ignoreAllDefaultArgs"`
   375  	// If `true`, Playwright does not pass its own configurations args and only uses the
   376  	// ones from `args`. Dangerous option; use with care.
   377  	IgnoreDefaultArgs []string `json:"ignoreDefaultArgs"`
   378  	// Network proxy settings.
   379  	Proxy *BrowserTypeLaunchOptionsProxy `json:"proxy"`
   380  	// Slows down Playwright operations by the specified amount of milliseconds. Useful
   381  	// so that you can see what is going on.
   382  	SlowMo *float64 `json:"slowMo"`
   383  	// Maximum time in milliseconds to wait for the browser instance to start. Defaults
   384  	// to `30000` (30 seconds). Pass `0` to disable timeout.
   385  	Timeout *float64 `json:"timeout"`
   386  	// If specified, traces are saved into this directory.
   387  	TracesDir *string `json:"tracesDir"`
   388  }
   389  type BrowserTypeProxy struct {
   390  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
   391  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
   392  	// is considered an HTTP proxy.
   393  	Server *string `json:"server"`
   394  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
   395  	// .domain.com"`.
   396  	Bypass *string `json:"bypass"`
   397  	// Optional username to use if HTTP proxy requires authentication.
   398  	Username *string `json:"username"`
   399  	// Optional password to use if HTTP proxy requires authentication.
   400  	Password *string `json:"password"`
   401  }
   402  type BrowserTypeLaunchPersistentContextOptions struct {
   403  	// Whether to automatically download all the attachments. Defaults to `true` where
   404  	// all the downloads are accepted.
   405  	AcceptDownloads *bool `json:"acceptDownloads"`
   406  	// Additional arguments to pass to the browser instance. The list of Chromium flags
   407  	// can be found [here](http://peter.sh/experiments/chromium-command-line-switches/).
   408  	Args []string `json:"args"`
   409  	// When using Page.Goto(), Page.Route(), Page.WaitForURL(), Page.WaitForRequest(),
   410  	// or Page.WaitForResponse() it takes the base URL in consideration by using the [`URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL)
   411  	// constructor for building the corresponding URL. Examples:
   412  	// baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html`
   413  	// baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in
   414  	// `http://localhost:3000/foo/bar.html`
   415  	// baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to
   416  	// `./bar.html` results in `http://localhost:3000/bar.html`
   417  	BaseURL *string `json:"baseURL"`
   418  	// Toggles bypassing page's Content-Security-Policy.
   419  	BypassCSP *bool `json:"bypassCSP"`
   420  	// Browser distribution channel.  Supported values are "chrome", "chrome-beta", "chrome-dev",
   421  	// "chrome-canary", "msedge", "msedge-beta", "msedge-dev", "msedge-canary". Read more
   422  	// about using [Google Chrome and Microsoft Edge](./browsers.md#google-chrome--microsoft-edge).
   423  	Channel *string `json:"channel"`
   424  	// Enable Chromium sandboxing. Defaults to `false`.
   425  	ChromiumSandbox *bool `json:"chromiumSandbox"`
   426  	// Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`,
   427  	// `'dark'`, `'no-preference'`. See Page.EmulateMedia() for more details. Defaults
   428  	// to `'light'`.
   429  	ColorScheme *ColorScheme `json:"colorScheme"`
   430  	// Specify device scale factor (can be thought of as dpr). Defaults to `1`.
   431  	DeviceScaleFactor *float64 `json:"deviceScaleFactor"`
   432  	// **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If
   433  	// this option is `true`, the `headless` option will be set `false`.
   434  	Devtools *bool `json:"devtools"`
   435  	// If specified, accepted downloads are downloaded into this directory. Otherwise,
   436  	// temporary directory is created and is deleted when browser is closed. In either
   437  	// case, the downloads are deleted when the browser context they were created in is
   438  	// closed.
   439  	DownloadsPath *string `json:"downloadsPath"`
   440  	// Specify environment variables that will be visible to the browser. Defaults to `process.env`.
   441  	Env map[string]string `json:"env"`
   442  	// Path to a browser executable to run instead of the bundled one. If `executablePath`
   443  	// is a relative path, then it is resolved relative to the current working directory.
   444  	// Note that Playwright only works with the bundled Chromium, Firefox or WebKit, use
   445  	// at your own risk.
   446  	ExecutablePath *string `json:"executablePath"`
   447  	// An object containing additional HTTP headers to be sent with every request.
   448  	ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"`
   449  	// Emulates `'forced-colors'` media feature, supported values are `'active'`, `'none'`.
   450  	// See Page.EmulateMedia() for more details. Defaults to `'none'`.
   451  	// It's not supported in WebKit, see [here](https://bugs.webkit.org/show_bug.cgi?id=225281)
   452  	// in their issue tracker.
   453  	ForcedColors *ForcedColors                                         `json:"forcedColors"`
   454  	Geolocation  *BrowserTypeLaunchPersistentContextOptionsGeolocation `json:"geolocation"`
   455  	// Close the browser process on SIGHUP. Defaults to `true`.
   456  	HandleSIGHUP *bool `json:"handleSIGHUP"`
   457  	// Close the browser process on Ctrl-C. Defaults to `true`.
   458  	HandleSIGINT *bool `json:"handleSIGINT"`
   459  	// Close the browser process on SIGTERM. Defaults to `true`.
   460  	HandleSIGTERM *bool `json:"handleSIGTERM"`
   461  	// Specifies if viewport supports touch events. Defaults to false.
   462  	HasTouch *bool `json:"hasTouch"`
   463  	// Whether to run browser in headless mode. More details for [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome)
   464  	// and [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode).
   465  	// Defaults to `true` unless the `devtools` option is `true`.
   466  	Headless *bool `json:"headless"`
   467  	// Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication).
   468  	HttpCredentials *BrowserTypeLaunchPersistentContextOptionsHttpCredentials `json:"httpCredentials"`
   469  	// If `true`, Playwright does not pass its own configurations args and only uses the
   470  	// ones from `args`. Dangerous option; use with care. Defaults to `false`.
   471  	IgnoreAllDefaultArgs *bool `json:"ignoreAllDefaultArgs"`
   472  	// If `true`, Playwright does not pass its own configurations args and only uses the
   473  	// ones from `args`. Dangerous option; use with care.
   474  	IgnoreDefaultArgs []string `json:"ignoreDefaultArgs"`
   475  	// Whether to ignore HTTPS errors when sending network requests. Defaults to `false`.
   476  	IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"`
   477  	// Whether the `meta viewport` tag is taken into account and touch events are enabled.
   478  	// Defaults to `false`. Not supported in Firefox.
   479  	IsMobile *bool `json:"isMobile"`
   480  	// Whether or not to enable JavaScript in the context. Defaults to `true`.
   481  	JavaScriptEnabled *bool `json:"javaScriptEnabled"`
   482  	// Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language`
   483  	// value, `Accept-Language` request header value as well as number and date formatting
   484  	// rules.
   485  	Locale *string `json:"locale"`
   486  	// Does not enforce fixed viewport, allows resizing window in the headed mode.
   487  	NoViewport *bool `json:"noViewport"`
   488  	// Whether to emulate network being offline. Defaults to `false`.
   489  	Offline *bool `json:"offline"`
   490  	// A list of permissions to grant to all pages in this context. See BrowserContext.GrantPermissions()
   491  	// for more details.
   492  	Permissions []string `json:"permissions"`
   493  	// Network proxy settings.
   494  	Proxy *BrowserTypeLaunchPersistentContextOptionsProxy `json:"proxy"`
   495  	// Enables video recording for all pages into `recordVideo.dir` directory. If not specified
   496  	// videos are not recorded. Make sure to await BrowserContext.Close() for videos to
   497  	// be saved.
   498  	RecordVideo *BrowserTypeLaunchPersistentContextOptionsRecordVideo `json:"recordVideo"`
   499  	// Emulates `'prefers-reduced-motion'` media feature, supported values are `'reduce'`,
   500  	// `'no-preference'`. See Page.EmulateMedia() for more details. Defaults to `'no-preference'`.
   501  	ReducedMotion *ReducedMotion `json:"reducedMotion"`
   502  	// Emulates consistent window screen size available inside web page via `window.screen`.
   503  	// Is only used when the `viewport` is set.
   504  	Screen *BrowserTypeLaunchPersistentContextOptionsScreen `json:"screen"`
   505  	// Slows down Playwright operations by the specified amount of milliseconds. Useful
   506  	// so that you can see what is going on.
   507  	SlowMo *float64 `json:"slowMo"`
   508  	// It specified, enables strict selectors mode for this context. In the strict selectors
   509  	// mode all operations on selectors that imply single target DOM element will throw
   510  	// when more than one element matches the selector. See Locator to learn more about
   511  	// the strict mode.
   512  	StrictSelectors *bool `json:"strictSelectors"`
   513  	// Maximum time in milliseconds to wait for the browser instance to start. Defaults
   514  	// to `30000` (30 seconds). Pass `0` to disable timeout.
   515  	Timeout *float64 `json:"timeout"`
   516  	// Changes the timezone of the context. See [ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)
   517  	// for a list of supported timezone IDs.
   518  	TimezoneId *string `json:"timezoneId"`
   519  	// If specified, traces are saved into this directory.
   520  	TracesDir *string `json:"tracesDir"`
   521  	// Specific user agent to use in this context.
   522  	UserAgent *string `json:"userAgent"`
   523  	// Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport`
   524  	// disables the fixed viewport.
   525  	Viewport *BrowserTypeLaunchPersistentContextOptionsViewport `json:"viewport"`
   526  }
   527  type BrowserTypeGeolocation struct {
   528  	// Latitude between -90 and 90.
   529  	Latitude *float64 `json:"latitude"`
   530  	// Longitude between -180 and 180.
   531  	Longitude *float64 `json:"longitude"`
   532  	// Non-negative accuracy value. Defaults to `0`.
   533  	Accuracy *float64 `json:"accuracy"`
   534  }
   535  type BrowserTypeHttpCredentials struct {
   536  	Username *string `json:"username"`
   537  	Password *string `json:"password"`
   538  }
   539  type BrowserTypeRecordVideo struct {
   540  	// Path to the directory to put videos into.
   541  	Dir *string `json:"dir"`
   542  	// Optional dimensions of the recorded videos. If not specified the size will be equal
   543  	// to `viewport` scaled down to fit into 800x800. If `viewport` is not configured explicitly
   544  	// the video size defaults to 800x450. Actual picture of each page will be scaled down
   545  	// if necessary to fit the specified size.
   546  	Size *BrowserTypeRecordVideoSize `json:"size"`
   547  }
   548  type BrowserTypeScreen struct {
   549  	// page width in pixels.
   550  	Width *int `json:"width"`
   551  	// page height in pixels.
   552  	Height *int `json:"height"`
   553  }
   554  type BrowserTypeViewport struct {
   555  	// page width in pixels.
   556  	Width *int `json:"width"`
   557  	// page height in pixels.
   558  	Height *int `json:"height"`
   559  }
   560  type DialogAcceptOptions struct {
   561  	// A text to enter in prompt. Does not cause any effects if the dialog's `type` is
   562  	// not prompt. Optional.
   563  	PromptText *string `json:"promptText"`
   564  }
   565  
   566  // Result of calling <see cref="ElementHandle.BoundingBox" />.
   567  type ElementHandleBoundingBoxResult struct {
   568  	// the x coordinate of the element in pixels.
   569  	X float64 `json:"x"`
   570  	// the y coordinate of the element in pixels.
   571  	Y float64 `json:"y"`
   572  	// the width of the element in pixels.
   573  	Width float64 `json:"width"`
   574  	// the height of the element in pixels.
   575  	Height float64 `json:"height"`
   576  }
   577  type ElementHandleCheckOptions struct {
   578  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   579  	Force *bool `json:"force"`
   580  	// Actions that initiate navigations are waiting for these navigations to happen and
   581  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   582  	// would only need this option in the exceptional cases such as navigating to inaccessible
   583  	// pages. Defaults to `false`.
   584  	NoWaitAfter *bool `json:"noWaitAfter"`
   585  	// A point to use relative to the top-left corner of element padding box. If not specified,
   586  	// uses some visible point of the element.
   587  	Position *ElementHandleCheckOptionsPosition `json:"position"`
   588  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   589  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   590  	// or Page.SetDefaultTimeout() methods.
   591  	Timeout *float64 `json:"timeout"`
   592  	// When set, this method only performs the [actionability](./actionability.md) checks
   593  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   594  	// for the action without performing it.
   595  	Trial *bool `json:"trial"`
   596  }
   597  type ElementHandlePosition struct {
   598  	X *float64 `json:"x"`
   599  	Y *float64 `json:"y"`
   600  }
   601  type ElementHandleClickOptions struct {
   602  	// Defaults to `left`.
   603  	Button *MouseButton `json:"button"`
   604  	// defaults to 1. See [UIEvent.detail].
   605  	ClickCount *int `json:"clickCount"`
   606  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
   607  	Delay *float64 `json:"delay"`
   608  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   609  	Force *bool `json:"force"`
   610  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   611  	// operation, and then restores current modifiers back. If not specified, currently
   612  	// pressed modifiers are used.
   613  	Modifiers []KeyboardModifier `json:"modifiers"`
   614  	// Actions that initiate navigations are waiting for these navigations to happen and
   615  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   616  	// would only need this option in the exceptional cases such as navigating to inaccessible
   617  	// pages. Defaults to `false`.
   618  	NoWaitAfter *bool `json:"noWaitAfter"`
   619  	// A point to use relative to the top-left corner of element padding box. If not specified,
   620  	// uses some visible point of the element.
   621  	Position *ElementHandleClickOptionsPosition `json:"position"`
   622  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   623  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   624  	// or Page.SetDefaultTimeout() methods.
   625  	Timeout *float64 `json:"timeout"`
   626  	// When set, this method only performs the [actionability](./actionability.md) checks
   627  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   628  	// for the action without performing it.
   629  	Trial *bool `json:"trial"`
   630  }
   631  type ElementHandleDblclickOptions struct {
   632  	// Defaults to `left`.
   633  	Button *MouseButton `json:"button"`
   634  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
   635  	Delay *float64 `json:"delay"`
   636  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   637  	Force *bool `json:"force"`
   638  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   639  	// operation, and then restores current modifiers back. If not specified, currently
   640  	// pressed modifiers are used.
   641  	Modifiers []KeyboardModifier `json:"modifiers"`
   642  	// Actions that initiate navigations are waiting for these navigations to happen and
   643  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   644  	// would only need this option in the exceptional cases such as navigating to inaccessible
   645  	// pages. Defaults to `false`.
   646  	NoWaitAfter *bool `json:"noWaitAfter"`
   647  	// A point to use relative to the top-left corner of element padding box. If not specified,
   648  	// uses some visible point of the element.
   649  	Position *ElementHandleDblclickOptionsPosition `json:"position"`
   650  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   651  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   652  	// or Page.SetDefaultTimeout() methods.
   653  	Timeout *float64 `json:"timeout"`
   654  	// When set, this method only performs the [actionability](./actionability.md) checks
   655  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   656  	// for the action without performing it.
   657  	Trial *bool `json:"trial"`
   658  }
   659  type ElementHandleDispatchEventOptions struct {
   660  	// Optional event-specific initialization properties.
   661  	EventInit interface{} `json:"eventInit"`
   662  }
   663  type ElementHandleEvalOnSelectorOptions struct {
   664  	// Optional argument to pass to `expression`.
   665  	Arg interface{} `json:"arg"`
   666  }
   667  type ElementHandleEvalOnSelectorAllOptions struct {
   668  	// Optional argument to pass to `expression`.
   669  	Arg interface{} `json:"arg"`
   670  }
   671  type ElementHandleFillOptions struct {
   672  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   673  	Force *bool `json:"force"`
   674  	// Actions that initiate navigations are waiting for these navigations to happen and
   675  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   676  	// would only need this option in the exceptional cases such as navigating to inaccessible
   677  	// pages. Defaults to `false`.
   678  	NoWaitAfter *bool `json:"noWaitAfter"`
   679  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   680  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   681  	// or Page.SetDefaultTimeout() methods.
   682  	Timeout *float64 `json:"timeout"`
   683  }
   684  type ElementHandleHoverOptions struct {
   685  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   686  	Force *bool `json:"force"`
   687  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   688  	// operation, and then restores current modifiers back. If not specified, currently
   689  	// pressed modifiers are used.
   690  	Modifiers []KeyboardModifier `json:"modifiers"`
   691  	// A point to use relative to the top-left corner of element padding box. If not specified,
   692  	// uses some visible point of the element.
   693  	Position *ElementHandleHoverOptionsPosition `json:"position"`
   694  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   695  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   696  	// or Page.SetDefaultTimeout() methods.
   697  	Timeout *float64 `json:"timeout"`
   698  	// When set, this method only performs the [actionability](./actionability.md) checks
   699  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   700  	// for the action without performing it.
   701  	Trial *bool `json:"trial"`
   702  }
   703  type ElementHandleInputValueOptions struct {
   704  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   705  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   706  	// or Page.SetDefaultTimeout() methods.
   707  	Timeout *float64 `json:"timeout"`
   708  }
   709  type ElementHandlePressOptions struct {
   710  	// Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
   711  	Delay *float64 `json:"delay"`
   712  	// Actions that initiate navigations are waiting for these navigations to happen and
   713  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   714  	// would only need this option in the exceptional cases such as navigating to inaccessible
   715  	// pages. Defaults to `false`.
   716  	NoWaitAfter *bool `json:"noWaitAfter"`
   717  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   718  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   719  	// or Page.SetDefaultTimeout() methods.
   720  	Timeout *float64 `json:"timeout"`
   721  }
   722  type ElementHandleScreenshotOptions struct {
   723  	// When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations.
   724  	// Animations get different treatment depending on their duration:
   725  	// finite animations are fast-forwarded to completion, so they'll fire `transitionend`
   726  	// event.
   727  	// infinite animations are canceled to initial state, and then played over after the
   728  	// screenshot.
   729  	// Defaults to `"allow"` that leaves animations untouched.
   730  	Animations *ScreenshotAnimations `json:"animations"`
   731  	// When set to `"ready"`, screenshot will wait for [`document.fonts.ready`](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready)
   732  	// promise to resolve in all frames. Defaults to `"nowait"`.
   733  	Fonts *ScreenshotFonts `json:"fonts"`
   734  	// Hides default white background and allows capturing screenshots with transparency.
   735  	// Not applicable to `jpeg` images. Defaults to `false`.
   736  	OmitBackground *bool `json:"omitBackground"`
   737  	// The file path to save the image to. The screenshot type will be inferred from file
   738  	// extension. If `path` is a relative path, then it is resolved relative to the current
   739  	// working directory. If no path is provided, the image won't be saved to the disk.
   740  	Path *string `json:"path"`
   741  	// The quality of the image, between 0-100. Not applicable to `png` images.
   742  	Quality *int `json:"quality"`
   743  	// When set to `"css"`, screenshot will have a single pixel per each css pixel on the
   744  	// page. For high-dpi devices, this will keep screenshots small. Using `"device"` option
   745  	// will produce a single pixel per each device pixel, so screenhots of high-dpi devices
   746  	// will be twice as large or even larger. Defaults to `"device"`.
   747  	Size *ScreenshotSize `json:"size"`
   748  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   749  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   750  	// or Page.SetDefaultTimeout() methods.
   751  	Timeout *float64 `json:"timeout"`
   752  	// Specify screenshot type, defaults to `png`.
   753  	Type *ScreenshotType `json:"type"`
   754  }
   755  type ElementHandleScrollIntoViewIfNeededOptions struct {
   756  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   757  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   758  	// or Page.SetDefaultTimeout() methods.
   759  	Timeout *float64 `json:"timeout"`
   760  }
   761  type ElementHandleSelectOptionOptions struct {
   762  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   763  	Force *bool `json:"force"`
   764  	// Actions that initiate navigations are waiting for these navigations to happen and
   765  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   766  	// would only need this option in the exceptional cases such as navigating to inaccessible
   767  	// pages. Defaults to `false`.
   768  	NoWaitAfter *bool `json:"noWaitAfter"`
   769  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   770  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   771  	// or Page.SetDefaultTimeout() methods.
   772  	Timeout *float64 `json:"timeout"`
   773  }
   774  type ElementHandleSelectTextOptions struct {
   775  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   776  	Force *bool `json:"force"`
   777  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   778  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   779  	// or Page.SetDefaultTimeout() methods.
   780  	Timeout *float64 `json:"timeout"`
   781  }
   782  type ElementHandleSetCheckedOptions struct {
   783  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   784  	Force *bool `json:"force"`
   785  	// Actions that initiate navigations are waiting for these navigations to happen and
   786  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   787  	// would only need this option in the exceptional cases such as navigating to inaccessible
   788  	// pages. Defaults to `false`.
   789  	NoWaitAfter *bool `json:"noWaitAfter"`
   790  	// A point to use relative to the top-left corner of element padding box. If not specified,
   791  	// uses some visible point of the element.
   792  	Position *ElementHandleSetCheckedOptionsPosition `json:"position"`
   793  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   794  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   795  	// or Page.SetDefaultTimeout() methods.
   796  	Timeout *float64 `json:"timeout"`
   797  	// When set, this method only performs the [actionability](./actionability.md) checks
   798  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   799  	// for the action without performing it.
   800  	Trial *bool `json:"trial"`
   801  }
   802  type ElementHandleSetInputFilesOptions struct {
   803  	// Actions that initiate navigations are waiting for these navigations to happen and
   804  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   805  	// would only need this option in the exceptional cases such as navigating to inaccessible
   806  	// pages. Defaults to `false`.
   807  	NoWaitAfter *bool `json:"noWaitAfter"`
   808  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   809  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   810  	// or Page.SetDefaultTimeout() methods.
   811  	Timeout *float64 `json:"timeout"`
   812  }
   813  type ElementHandleTapOptions struct {
   814  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   815  	Force *bool `json:"force"`
   816  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   817  	// operation, and then restores current modifiers back. If not specified, currently
   818  	// pressed modifiers are used.
   819  	Modifiers []KeyboardModifier `json:"modifiers"`
   820  	// Actions that initiate navigations are waiting for these navigations to happen and
   821  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   822  	// would only need this option in the exceptional cases such as navigating to inaccessible
   823  	// pages. Defaults to `false`.
   824  	NoWaitAfter *bool `json:"noWaitAfter"`
   825  	// A point to use relative to the top-left corner of element padding box. If not specified,
   826  	// uses some visible point of the element.
   827  	Position *ElementHandleTapOptionsPosition `json:"position"`
   828  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   829  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   830  	// or Page.SetDefaultTimeout() methods.
   831  	Timeout *float64 `json:"timeout"`
   832  	// When set, this method only performs the [actionability](./actionability.md) checks
   833  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   834  	// for the action without performing it.
   835  	Trial *bool `json:"trial"`
   836  }
   837  type ElementHandleTypeOptions struct {
   838  	// Time to wait between key presses in milliseconds. Defaults to 0.
   839  	Delay *float64 `json:"delay"`
   840  	// Actions that initiate navigations are waiting for these navigations to happen and
   841  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   842  	// would only need this option in the exceptional cases such as navigating to inaccessible
   843  	// pages. Defaults to `false`.
   844  	NoWaitAfter *bool `json:"noWaitAfter"`
   845  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   846  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   847  	// or Page.SetDefaultTimeout() methods.
   848  	Timeout *float64 `json:"timeout"`
   849  }
   850  type ElementHandleUncheckOptions struct {
   851  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   852  	Force *bool `json:"force"`
   853  	// Actions that initiate navigations are waiting for these navigations to happen and
   854  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   855  	// would only need this option in the exceptional cases such as navigating to inaccessible
   856  	// pages. Defaults to `false`.
   857  	NoWaitAfter *bool `json:"noWaitAfter"`
   858  	// A point to use relative to the top-left corner of element padding box. If not specified,
   859  	// uses some visible point of the element.
   860  	Position *ElementHandleUncheckOptionsPosition `json:"position"`
   861  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   862  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   863  	// or Page.SetDefaultTimeout() methods.
   864  	Timeout *float64 `json:"timeout"`
   865  	// When set, this method only performs the [actionability](./actionability.md) checks
   866  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   867  	// for the action without performing it.
   868  	Trial *bool `json:"trial"`
   869  }
   870  type ElementHandleWaitForElementStateOptions struct {
   871  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   872  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   873  	// or Page.SetDefaultTimeout() methods.
   874  	Timeout *float64 `json:"timeout"`
   875  }
   876  type ElementHandleWaitForSelectorOptions struct {
   877  	// Defaults to `'visible'`. Can be either:
   878  	// `'attached'` - wait for element to be present in DOM.
   879  	// `'detached'` - wait for element to not be present in DOM.
   880  	// `'visible'` - wait for element to have non-empty bounding box and no `visibility:hidden`.
   881  	// Note that element without any content or with `display:none` has an empty bounding
   882  	// box and is not considered visible.
   883  	// `'hidden'` - wait for element to be either detached from DOM, or have an empty bounding
   884  	// box or `visibility:hidden`. This is opposite to the `'visible'` option.
   885  	State *WaitForSelectorState `json:"state"`
   886  	// When true, the call requires selector to resolve to a single element. If given selector
   887  	// resolves to more then one element, the call throws an exception.
   888  	Strict *bool `json:"strict"`
   889  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   890  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   891  	// or Page.SetDefaultTimeout() methods.
   892  	Timeout *float64 `json:"timeout"`
   893  }
   894  type FileChooserSetFilesOptions struct {
   895  	// Actions that initiate navigations are waiting for these navigations to happen and
   896  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   897  	// would only need this option in the exceptional cases such as navigating to inaccessible
   898  	// pages. Defaults to `false`.
   899  	NoWaitAfter *bool `json:"noWaitAfter"`
   900  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   901  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   902  	// or Page.SetDefaultTimeout() methods.
   903  	Timeout *float64 `json:"timeout"`
   904  }
   905  type FrameAddScriptTagOptions struct {
   906  	// Raw JavaScript content to be injected into frame.
   907  	Content *string `json:"content"`
   908  	// Path to the JavaScript file to be injected into frame. If `path` is a relative path,
   909  	// then it is resolved relative to the current working directory.
   910  	Path *string `json:"path"`
   911  	// Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)
   912  	// for more details.
   913  	Type *string `json:"type"`
   914  	// URL of a script to be added.
   915  	URL *string `json:"url"`
   916  }
   917  type FrameAddStyleTagOptions struct {
   918  	// Raw CSS content to be injected into frame.
   919  	Content *string `json:"content"`
   920  	// Path to the CSS file to be injected into frame. If `path` is a relative path, then
   921  	// it is resolved relative to the current working directory.
   922  	Path *string `json:"path"`
   923  	// URL of the `<link>` tag.
   924  	URL *string `json:"url"`
   925  }
   926  type FrameCheckOptions struct {
   927  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   928  	Force *bool `json:"force"`
   929  	// Actions that initiate navigations are waiting for these navigations to happen and
   930  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   931  	// would only need this option in the exceptional cases such as navigating to inaccessible
   932  	// pages. Defaults to `false`.
   933  	NoWaitAfter *bool `json:"noWaitAfter"`
   934  	// A point to use relative to the top-left corner of element padding box. If not specified,
   935  	// uses some visible point of the element.
   936  	Position *FrameCheckOptionsPosition `json:"position"`
   937  	// When true, the call requires selector to resolve to a single element. If given selector
   938  	// resolves to more then one element, the call throws an exception.
   939  	Strict *bool `json:"strict"`
   940  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   941  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   942  	// or Page.SetDefaultTimeout() methods.
   943  	Timeout *float64 `json:"timeout"`
   944  	// When set, this method only performs the [actionability](./actionability.md) checks
   945  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   946  	// for the action without performing it.
   947  	Trial *bool `json:"trial"`
   948  }
   949  type FramePosition struct {
   950  	X *float64 `json:"x"`
   951  	Y *float64 `json:"y"`
   952  }
   953  type FrameClickOptions struct {
   954  	// Defaults to `left`.
   955  	Button *MouseButton `json:"button"`
   956  	// defaults to 1. See [UIEvent.detail].
   957  	ClickCount *int `json:"clickCount"`
   958  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
   959  	Delay *float64 `json:"delay"`
   960  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   961  	Force *bool `json:"force"`
   962  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   963  	// operation, and then restores current modifiers back. If not specified, currently
   964  	// pressed modifiers are used.
   965  	Modifiers []KeyboardModifier `json:"modifiers"`
   966  	// Actions that initiate navigations are waiting for these navigations to happen and
   967  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   968  	// would only need this option in the exceptional cases such as navigating to inaccessible
   969  	// pages. Defaults to `false`.
   970  	NoWaitAfter *bool `json:"noWaitAfter"`
   971  	// A point to use relative to the top-left corner of element padding box. If not specified,
   972  	// uses some visible point of the element.
   973  	Position *FrameClickOptionsPosition `json:"position"`
   974  	// When true, the call requires selector to resolve to a single element. If given selector
   975  	// resolves to more then one element, the call throws an exception.
   976  	Strict *bool `json:"strict"`
   977  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
   978  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
   979  	// or Page.SetDefaultTimeout() methods.
   980  	Timeout *float64 `json:"timeout"`
   981  	// When set, this method only performs the [actionability](./actionability.md) checks
   982  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
   983  	// for the action without performing it.
   984  	Trial *bool `json:"trial"`
   985  }
   986  type FrameDblclickOptions struct {
   987  	// Defaults to `left`.
   988  	Button *MouseButton `json:"button"`
   989  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
   990  	Delay *float64 `json:"delay"`
   991  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
   992  	Force *bool `json:"force"`
   993  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
   994  	// operation, and then restores current modifiers back. If not specified, currently
   995  	// pressed modifiers are used.
   996  	Modifiers []KeyboardModifier `json:"modifiers"`
   997  	// Actions that initiate navigations are waiting for these navigations to happen and
   998  	// for pages to start loading. You can opt out of waiting via setting this flag. You
   999  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1000  	// pages. Defaults to `false`.
  1001  	NoWaitAfter *bool `json:"noWaitAfter"`
  1002  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1003  	// uses some visible point of the element.
  1004  	Position *FrameDblclickOptionsPosition `json:"position"`
  1005  	// When true, the call requires selector to resolve to a single element. If given selector
  1006  	// resolves to more then one element, the call throws an exception.
  1007  	Strict *bool `json:"strict"`
  1008  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1009  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1010  	// or Page.SetDefaultTimeout() methods.
  1011  	Timeout *float64 `json:"timeout"`
  1012  	// When set, this method only performs the [actionability](./actionability.md) checks
  1013  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1014  	// for the action without performing it.
  1015  	Trial *bool `json:"trial"`
  1016  }
  1017  type FrameDispatchEventOptions struct {
  1018  	// When true, the call requires selector to resolve to a single element. If given selector
  1019  	// resolves to more then one element, the call throws an exception.
  1020  	Strict *bool `json:"strict"`
  1021  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1022  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1023  	// or Page.SetDefaultTimeout() methods.
  1024  	Timeout *float64 `json:"timeout"`
  1025  }
  1026  type FrameDragAndDropOptions struct {
  1027  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1028  	Force *bool `json:"force"`
  1029  	// Actions that initiate navigations are waiting for these navigations to happen and
  1030  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1031  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1032  	// pages. Defaults to `false`.
  1033  	NoWaitAfter *bool `json:"noWaitAfter"`
  1034  	// Clicks on the source element at this point relative to the top-left corner of the
  1035  	// element's padding box. If not specified, some visible point of the element is used.
  1036  	SourcePosition *FrameDragAndDropOptionsSourcePosition `json:"sourcePosition"`
  1037  	// When true, the call requires selector to resolve to a single element. If given selector
  1038  	// resolves to more then one element, the call throws an exception.
  1039  	Strict *bool `json:"strict"`
  1040  	// Drops on the target element at this point relative to the top-left corner of the
  1041  	// element's padding box. If not specified, some visible point of the element is used.
  1042  	TargetPosition *FrameDragAndDropOptionsTargetPosition `json:"targetPosition"`
  1043  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1044  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1045  	// or Page.SetDefaultTimeout() methods.
  1046  	Timeout *float64 `json:"timeout"`
  1047  	// When set, this method only performs the [actionability](./actionability.md) checks
  1048  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1049  	// for the action without performing it.
  1050  	Trial *bool `json:"trial"`
  1051  }
  1052  type FrameSourcePosition struct {
  1053  	X *float64 `json:"x"`
  1054  	Y *float64 `json:"y"`
  1055  }
  1056  type FrameTargetPosition struct {
  1057  	X *float64 `json:"x"`
  1058  	Y *float64 `json:"y"`
  1059  }
  1060  type FrameEvalOnSelectorOptions struct {
  1061  	// When true, the call requires selector to resolve to a single element. If given selector
  1062  	// resolves to more then one element, the call throws an exception.
  1063  	Strict *bool `json:"strict"`
  1064  }
  1065  type FrameEvalOnSelectorAllOptions struct {
  1066  	// Optional argument to pass to `expression`.
  1067  	Arg interface{} `json:"arg"`
  1068  }
  1069  type FrameEvaluateOptions struct {
  1070  	// Optional argument to pass to `expression`.
  1071  	Arg interface{} `json:"arg"`
  1072  }
  1073  type FrameEvaluateHandleOptions struct {
  1074  	// Optional argument to pass to `expression`.
  1075  	Arg interface{} `json:"arg"`
  1076  }
  1077  type FrameFillOptions struct {
  1078  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1079  	Force *bool `json:"force"`
  1080  	// Actions that initiate navigations are waiting for these navigations to happen and
  1081  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1082  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1083  	// pages. Defaults to `false`.
  1084  	NoWaitAfter *bool `json:"noWaitAfter"`
  1085  	// When true, the call requires selector to resolve to a single element. If given selector
  1086  	// resolves to more then one element, the call throws an exception.
  1087  	Strict *bool `json:"strict"`
  1088  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1089  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1090  	// or Page.SetDefaultTimeout() methods.
  1091  	Timeout *float64 `json:"timeout"`
  1092  }
  1093  type FrameFocusOptions struct {
  1094  	// When true, the call requires selector to resolve to a single element. If given selector
  1095  	// resolves to more then one element, the call throws an exception.
  1096  	Strict *bool `json:"strict"`
  1097  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1098  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1099  	// or Page.SetDefaultTimeout() methods.
  1100  	Timeout *float64 `json:"timeout"`
  1101  }
  1102  type FrameGetAttributeOptions struct {
  1103  	// When true, the call requires selector to resolve to a single element. If given selector
  1104  	// resolves to more then one element, the call throws an exception.
  1105  	Strict *bool `json:"strict"`
  1106  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1107  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1108  	// or Page.SetDefaultTimeout() methods.
  1109  	Timeout *float64 `json:"timeout"`
  1110  }
  1111  type FrameGotoOptions struct {
  1112  	// Referer header value. If provided it will take preference over the referer header
  1113  	// value set by Page.SetExtraHttpHeaders().
  1114  	Referer *string `json:"referer"`
  1115  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  1116  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  1117  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  1118  	// methods.
  1119  	Timeout *float64 `json:"timeout"`
  1120  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  1121  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  1122  	// event is fired.
  1123  	// `'load'` - consider operation to be finished when the `load` event is fired.
  1124  	// `'networkidle'` - consider operation to be finished when there are no network connections
  1125  	// for at least `500` ms.
  1126  	// `'commit'` - consider operation to be finished when network response is received
  1127  	// and the document started loading.
  1128  	WaitUntil *WaitUntilState `json:"waitUntil"`
  1129  }
  1130  type FrameHoverOptions struct {
  1131  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1132  	Force *bool `json:"force"`
  1133  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1134  	// operation, and then restores current modifiers back. If not specified, currently
  1135  	// pressed modifiers are used.
  1136  	Modifiers []KeyboardModifier `json:"modifiers"`
  1137  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1138  	// uses some visible point of the element.
  1139  	Position *FrameHoverOptionsPosition `json:"position"`
  1140  	// When true, the call requires selector to resolve to a single element. If given selector
  1141  	// resolves to more then one element, the call throws an exception.
  1142  	Strict *bool `json:"strict"`
  1143  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1144  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1145  	// or Page.SetDefaultTimeout() methods.
  1146  	Timeout *float64 `json:"timeout"`
  1147  	// When set, this method only performs the [actionability](./actionability.md) checks
  1148  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1149  	// for the action without performing it.
  1150  	Trial *bool `json:"trial"`
  1151  }
  1152  type FrameInnerHTMLOptions struct {
  1153  	// When true, the call requires selector to resolve to a single element. If given selector
  1154  	// resolves to more then one element, the call throws an exception.
  1155  	Strict *bool `json:"strict"`
  1156  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1157  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1158  	// or Page.SetDefaultTimeout() methods.
  1159  	Timeout *float64 `json:"timeout"`
  1160  }
  1161  type FrameInnerTextOptions struct {
  1162  	// When true, the call requires selector to resolve to a single element. If given selector
  1163  	// resolves to more then one element, the call throws an exception.
  1164  	Strict *bool `json:"strict"`
  1165  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1166  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1167  	// or Page.SetDefaultTimeout() methods.
  1168  	Timeout *float64 `json:"timeout"`
  1169  }
  1170  type FrameInputValueOptions struct {
  1171  	// When true, the call requires selector to resolve to a single element. If given selector
  1172  	// resolves to more then one element, the call throws an exception.
  1173  	Strict *bool `json:"strict"`
  1174  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1175  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1176  	// or Page.SetDefaultTimeout() methods.
  1177  	Timeout *float64 `json:"timeout"`
  1178  }
  1179  type FrameIsCheckedOptions struct {
  1180  	// When true, the call requires selector to resolve to a single element. If given selector
  1181  	// resolves to more then one element, the call throws an exception.
  1182  	Strict *bool `json:"strict"`
  1183  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1184  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1185  	// or Page.SetDefaultTimeout() methods.
  1186  	Timeout *float64 `json:"timeout"`
  1187  }
  1188  type FrameIsDisabledOptions struct {
  1189  	// When true, the call requires selector to resolve to a single element. If given selector
  1190  	// resolves to more then one element, the call throws an exception.
  1191  	Strict *bool `json:"strict"`
  1192  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1193  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1194  	// or Page.SetDefaultTimeout() methods.
  1195  	Timeout *float64 `json:"timeout"`
  1196  }
  1197  type FrameIsEditableOptions struct {
  1198  	// When true, the call requires selector to resolve to a single element. If given selector
  1199  	// resolves to more then one element, the call throws an exception.
  1200  	Strict *bool `json:"strict"`
  1201  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1202  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1203  	// or Page.SetDefaultTimeout() methods.
  1204  	Timeout *float64 `json:"timeout"`
  1205  }
  1206  type FrameIsEnabledOptions struct {
  1207  	// When true, the call requires selector to resolve to a single element. If given selector
  1208  	// resolves to more then one element, the call throws an exception.
  1209  	Strict *bool `json:"strict"`
  1210  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1211  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1212  	// or Page.SetDefaultTimeout() methods.
  1213  	Timeout *float64 `json:"timeout"`
  1214  }
  1215  type FrameIsHiddenOptions struct {
  1216  	// When true, the call requires selector to resolve to a single element. If given selector
  1217  	// resolves to more then one element, the call throws an exception.
  1218  	Strict *bool `json:"strict"`
  1219  	// **DEPRECATED** This option is ignored. Frame.IsHidden() does not wait for the element
  1220  	// to become hidden and returns immediately.
  1221  	Timeout *float64 `json:"timeout"`
  1222  }
  1223  type FrameIsVisibleOptions struct {
  1224  	// When true, the call requires selector to resolve to a single element. If given selector
  1225  	// resolves to more then one element, the call throws an exception.
  1226  	Strict *bool `json:"strict"`
  1227  	// **DEPRECATED** This option is ignored. Frame.IsVisible() does not wait for the element
  1228  	// to become visible and returns immediately.
  1229  	Timeout *float64 `json:"timeout"`
  1230  }
  1231  type FrameLocatorOptions struct {
  1232  	// Matches elements containing an element that matches an inner locator. Inner locator
  1233  	// is queried against the outer one. For example, `article` that has `text=Playwright`
  1234  	// matches `<article><div>Playwright</div></article>`.
  1235  	// Note that outer and inner locators must belong to the same frame. Inner locator
  1236  	// must not contain FrameLocators.
  1237  	Has Locator `json:"has"`
  1238  	// Matches elements containing specified text somewhere inside, possibly in a child
  1239  	// or a descendant element. For example, `"Playwright"` matches `<article><div>Playwright</div></article>`.
  1240  	HasText interface{} `json:"hasText"`
  1241  }
  1242  type FramePressOptions struct {
  1243  	// Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
  1244  	Delay *float64 `json:"delay"`
  1245  	// Actions that initiate navigations are waiting for these navigations to happen and
  1246  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1247  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1248  	// pages. Defaults to `false`.
  1249  	NoWaitAfter *bool `json:"noWaitAfter"`
  1250  	// When true, the call requires selector to resolve to a single element. If given selector
  1251  	// resolves to more then one element, the call throws an exception.
  1252  	Strict *bool `json:"strict"`
  1253  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1254  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1255  	// or Page.SetDefaultTimeout() methods.
  1256  	Timeout *float64 `json:"timeout"`
  1257  }
  1258  type FrameQuerySelectorOptions struct {
  1259  	// When true, the call requires selector to resolve to a single element. If given selector
  1260  	// resolves to more then one element, the call throws an exception.
  1261  	Strict *bool `json:"strict"`
  1262  }
  1263  type FrameSelectOptionOptions struct {
  1264  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1265  	Force *bool `json:"force"`
  1266  	// Actions that initiate navigations are waiting for these navigations to happen and
  1267  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1268  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1269  	// pages. Defaults to `false`.
  1270  	NoWaitAfter *bool `json:"noWaitAfter"`
  1271  	// When true, the call requires selector to resolve to a single element. If given selector
  1272  	// resolves to more then one element, the call throws an exception.
  1273  	Strict *bool `json:"strict"`
  1274  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1275  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1276  	// or Page.SetDefaultTimeout() methods.
  1277  	Timeout *float64 `json:"timeout"`
  1278  }
  1279  type FrameSetCheckedOptions struct {
  1280  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1281  	Force *bool `json:"force"`
  1282  	// Actions that initiate navigations are waiting for these navigations to happen and
  1283  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1284  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1285  	// pages. Defaults to `false`.
  1286  	NoWaitAfter *bool `json:"noWaitAfter"`
  1287  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1288  	// uses some visible point of the element.
  1289  	Position *FrameSetCheckedOptionsPosition `json:"position"`
  1290  	// When true, the call requires selector to resolve to a single element. If given selector
  1291  	// resolves to more then one element, the call throws an exception.
  1292  	Strict *bool `json:"strict"`
  1293  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1294  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1295  	// or Page.SetDefaultTimeout() methods.
  1296  	Timeout *float64 `json:"timeout"`
  1297  	// When set, this method only performs the [actionability](./actionability.md) checks
  1298  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1299  	// for the action without performing it.
  1300  	Trial *bool `json:"trial"`
  1301  }
  1302  type FrameSetContentOptions struct {
  1303  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  1304  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  1305  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  1306  	// methods.
  1307  	Timeout *float64 `json:"timeout"`
  1308  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  1309  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  1310  	// event is fired.
  1311  	// `'load'` - consider operation to be finished when the `load` event is fired.
  1312  	// `'networkidle'` - consider operation to be finished when there are no network connections
  1313  	// for at least `500` ms.
  1314  	// `'commit'` - consider operation to be finished when network response is received
  1315  	// and the document started loading.
  1316  	WaitUntil *WaitUntilState `json:"waitUntil"`
  1317  }
  1318  type FrameSetInputFilesOptions struct {
  1319  	// Actions that initiate navigations are waiting for these navigations to happen and
  1320  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1321  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1322  	// pages. Defaults to `false`.
  1323  	NoWaitAfter *bool `json:"noWaitAfter"`
  1324  	// When true, the call requires selector to resolve to a single element. If given selector
  1325  	// resolves to more then one element, the call throws an exception.
  1326  	Strict *bool `json:"strict"`
  1327  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1328  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1329  	// or Page.SetDefaultTimeout() methods.
  1330  	Timeout *float64 `json:"timeout"`
  1331  }
  1332  type FrameTapOptions struct {
  1333  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1334  	Force *bool `json:"force"`
  1335  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1336  	// operation, and then restores current modifiers back. If not specified, currently
  1337  	// pressed modifiers are used.
  1338  	Modifiers []KeyboardModifier `json:"modifiers"`
  1339  	// Actions that initiate navigations are waiting for these navigations to happen and
  1340  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1341  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1342  	// pages. Defaults to `false`.
  1343  	NoWaitAfter *bool `json:"noWaitAfter"`
  1344  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1345  	// uses some visible point of the element.
  1346  	Position *FrameTapOptionsPosition `json:"position"`
  1347  	// When true, the call requires selector to resolve to a single element. If given selector
  1348  	// resolves to more then one element, the call throws an exception.
  1349  	Strict *bool `json:"strict"`
  1350  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1351  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1352  	// or Page.SetDefaultTimeout() methods.
  1353  	Timeout *float64 `json:"timeout"`
  1354  	// When set, this method only performs the [actionability](./actionability.md) checks
  1355  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1356  	// for the action without performing it.
  1357  	Trial *bool `json:"trial"`
  1358  }
  1359  type FrameTextContentOptions struct {
  1360  	// When true, the call requires selector to resolve to a single element. If given selector
  1361  	// resolves to more then one element, the call throws an exception.
  1362  	Strict *bool `json:"strict"`
  1363  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1364  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1365  	// or Page.SetDefaultTimeout() methods.
  1366  	Timeout *float64 `json:"timeout"`
  1367  }
  1368  type FrameTypeOptions struct {
  1369  	// Time to wait between key presses in milliseconds. Defaults to 0.
  1370  	Delay *float64 `json:"delay"`
  1371  	// Actions that initiate navigations are waiting for these navigations to happen and
  1372  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1373  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1374  	// pages. Defaults to `false`.
  1375  	NoWaitAfter *bool `json:"noWaitAfter"`
  1376  	// When true, the call requires selector to resolve to a single element. If given selector
  1377  	// resolves to more then one element, the call throws an exception.
  1378  	Strict *bool `json:"strict"`
  1379  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1380  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1381  	// or Page.SetDefaultTimeout() methods.
  1382  	Timeout *float64 `json:"timeout"`
  1383  }
  1384  type FrameUncheckOptions struct {
  1385  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1386  	Force *bool `json:"force"`
  1387  	// Actions that initiate navigations are waiting for these navigations to happen and
  1388  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1389  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1390  	// pages. Defaults to `false`.
  1391  	NoWaitAfter *bool `json:"noWaitAfter"`
  1392  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1393  	// uses some visible point of the element.
  1394  	Position *FrameUncheckOptionsPosition `json:"position"`
  1395  	// When true, the call requires selector to resolve to a single element. If given selector
  1396  	// resolves to more then one element, the call throws an exception.
  1397  	Strict *bool `json:"strict"`
  1398  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1399  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1400  	// or Page.SetDefaultTimeout() methods.
  1401  	Timeout *float64 `json:"timeout"`
  1402  	// When set, this method only performs the [actionability](./actionability.md) checks
  1403  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1404  	// for the action without performing it.
  1405  	Trial *bool `json:"trial"`
  1406  }
  1407  type FrameWaitForFunctionOptions struct {
  1408  	// If `polling` is `'raf'`, then `expression` is constantly executed in `requestAnimationFrame`
  1409  	// callback. If `polling` is a number, then it is treated as an interval in milliseconds
  1410  	// at which the function would be executed. Defaults to `raf`.
  1411  	Polling interface{} `json:"polling"`
  1412  	// maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass
  1413  	// `0` to disable timeout. The default value can be changed by using the BrowserContext.SetDefaultTimeout().
  1414  	Timeout *float64 `json:"timeout"`
  1415  }
  1416  type FrameWaitForLoadStateOptions struct {
  1417  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  1418  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  1419  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  1420  	// methods.
  1421  	Timeout *float64 `json:"timeout"`
  1422  }
  1423  type FrameWaitForNavigationOptions struct {
  1424  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  1425  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  1426  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  1427  	// methods.
  1428  	Timeout *float64 `json:"timeout"`
  1429  	// A glob pattern, regex pattern or predicate receiving [URL] to match while waiting
  1430  	// for the navigation. Note that if the parameter is a string without wilcard characters,
  1431  	// the method will wait for navigation to URL that is exactly equal to the string.
  1432  	URL interface{} `json:"url"`
  1433  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  1434  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  1435  	// event is fired.
  1436  	// `'load'` - consider operation to be finished when the `load` event is fired.
  1437  	// `'networkidle'` - consider operation to be finished when there are no network connections
  1438  	// for at least `500` ms.
  1439  	// `'commit'` - consider operation to be finished when network response is received
  1440  	// and the document started loading.
  1441  	WaitUntil *WaitUntilState `json:"waitUntil"`
  1442  }
  1443  type FrameWaitForSelectorOptions struct {
  1444  	// Defaults to `'visible'`. Can be either:
  1445  	// `'attached'` - wait for element to be present in DOM.
  1446  	// `'detached'` - wait for element to not be present in DOM.
  1447  	// `'visible'` - wait for element to have non-empty bounding box and no `visibility:hidden`.
  1448  	// Note that element without any content or with `display:none` has an empty bounding
  1449  	// box and is not considered visible.
  1450  	// `'hidden'` - wait for element to be either detached from DOM, or have an empty bounding
  1451  	// box or `visibility:hidden`. This is opposite to the `'visible'` option.
  1452  	State *WaitForSelectorState `json:"state"`
  1453  	// When true, the call requires selector to resolve to a single element. If given selector
  1454  	// resolves to more then one element, the call throws an exception.
  1455  	Strict *bool `json:"strict"`
  1456  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1457  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1458  	// or Page.SetDefaultTimeout() methods.
  1459  	Timeout *float64 `json:"timeout"`
  1460  }
  1461  type FrameWaitForURLOptions struct {
  1462  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  1463  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  1464  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  1465  	// methods.
  1466  	Timeout *float64 `json:"timeout"`
  1467  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  1468  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  1469  	// event is fired.
  1470  	// `'load'` - consider operation to be finished when the `load` event is fired.
  1471  	// `'networkidle'` - consider operation to be finished when there are no network connections
  1472  	// for at least `500` ms.
  1473  	// `'commit'` - consider operation to be finished when network response is received
  1474  	// and the document started loading.
  1475  	WaitUntil *WaitUntilState `json:"waitUntil"`
  1476  }
  1477  type FrameLocatorLocatorOptions struct {
  1478  	// Matches elements containing an element that matches an inner locator. Inner locator
  1479  	// is queried against the outer one. For example, `article` that has `text=Playwright`
  1480  	// matches `<article><div>Playwright</div></article>`.
  1481  	// Note that outer and inner locators must belong to the same frame. Inner locator
  1482  	// must not contain FrameLocators.
  1483  	Has Locator `json:"has"`
  1484  	// Matches elements containing specified text somewhere inside, possibly in a child
  1485  	// or a descendant element. For example, `"Playwright"` matches `<article><div>Playwright</div></article>`.
  1486  	HasText interface{} `json:"hasText"`
  1487  }
  1488  type JSHandleEvaluateOptions struct {
  1489  	// Optional argument to pass to `expression`.
  1490  	Arg interface{} `json:"arg"`
  1491  }
  1492  type JSHandleEvaluateHandleOptions struct {
  1493  	// Optional argument to pass to `expression`.
  1494  	Arg interface{} `json:"arg"`
  1495  }
  1496  type KeyboardPressOptions struct {
  1497  	// Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
  1498  	Delay *float64 `json:"delay"`
  1499  }
  1500  type KeyboardTypeOptions struct {
  1501  	// Time to wait between key presses in milliseconds. Defaults to 0.
  1502  	Delay *float64 `json:"delay"`
  1503  }
  1504  
  1505  // Result of calling <see cref="Locator.BoundingBox" />.
  1506  type LocatorBoundingBoxResult struct {
  1507  	// the x coordinate of the element in pixels.
  1508  	X float64 `json:"x"`
  1509  	// the y coordinate of the element in pixels.
  1510  	Y float64 `json:"y"`
  1511  	// the width of the element in pixels.
  1512  	Width float64 `json:"width"`
  1513  	// the height of the element in pixels.
  1514  	Height float64 `json:"height"`
  1515  }
  1516  type LocatorBoundingBoxOptions struct {
  1517  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1518  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1519  	// or Page.SetDefaultTimeout() methods.
  1520  	Timeout *float64 `json:"timeout"`
  1521  }
  1522  type LocatorCheckOptions struct {
  1523  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1524  	Force *bool `json:"force"`
  1525  	// Actions that initiate navigations are waiting for these navigations to happen and
  1526  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1527  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1528  	// pages. Defaults to `false`.
  1529  	NoWaitAfter *bool `json:"noWaitAfter"`
  1530  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1531  	// uses some visible point of the element.
  1532  	Position *LocatorCheckOptionsPosition `json:"position"`
  1533  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1534  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1535  	// or Page.SetDefaultTimeout() methods.
  1536  	Timeout *float64 `json:"timeout"`
  1537  	// When set, this method only performs the [actionability](./actionability.md) checks
  1538  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1539  	// for the action without performing it.
  1540  	Trial *bool `json:"trial"`
  1541  }
  1542  type LocatorPosition struct {
  1543  	X *float64 `json:"x"`
  1544  	Y *float64 `json:"y"`
  1545  }
  1546  type LocatorClickOptions struct {
  1547  	// Defaults to `left`.
  1548  	Button *MouseButton `json:"button"`
  1549  	// defaults to 1. See [UIEvent.detail].
  1550  	ClickCount *int `json:"clickCount"`
  1551  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  1552  	Delay *float64 `json:"delay"`
  1553  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1554  	Force *bool `json:"force"`
  1555  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1556  	// operation, and then restores current modifiers back. If not specified, currently
  1557  	// pressed modifiers are used.
  1558  	Modifiers []KeyboardModifier `json:"modifiers"`
  1559  	// Actions that initiate navigations are waiting for these navigations to happen and
  1560  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1561  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1562  	// pages. Defaults to `false`.
  1563  	NoWaitAfter *bool `json:"noWaitAfter"`
  1564  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1565  	// uses some visible point of the element.
  1566  	Position *LocatorClickOptionsPosition `json:"position"`
  1567  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1568  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1569  	// or Page.SetDefaultTimeout() methods.
  1570  	Timeout *float64 `json:"timeout"`
  1571  	// When set, this method only performs the [actionability](./actionability.md) checks
  1572  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1573  	// for the action without performing it.
  1574  	Trial *bool `json:"trial"`
  1575  }
  1576  type LocatorDblclickOptions struct {
  1577  	// Defaults to `left`.
  1578  	Button *MouseButton `json:"button"`
  1579  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  1580  	Delay *float64 `json:"delay"`
  1581  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1582  	Force *bool `json:"force"`
  1583  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1584  	// operation, and then restores current modifiers back. If not specified, currently
  1585  	// pressed modifiers are used.
  1586  	Modifiers []KeyboardModifier `json:"modifiers"`
  1587  	// Actions that initiate navigations are waiting for these navigations to happen and
  1588  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1589  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1590  	// pages. Defaults to `false`.
  1591  	NoWaitAfter *bool `json:"noWaitAfter"`
  1592  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1593  	// uses some visible point of the element.
  1594  	Position *LocatorDblclickOptionsPosition `json:"position"`
  1595  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1596  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1597  	// or Page.SetDefaultTimeout() methods.
  1598  	Timeout *float64 `json:"timeout"`
  1599  	// When set, this method only performs the [actionability](./actionability.md) checks
  1600  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1601  	// for the action without performing it.
  1602  	Trial *bool `json:"trial"`
  1603  }
  1604  type LocatorDispatchEventOptions struct {
  1605  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1606  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1607  	// or Page.SetDefaultTimeout() methods.
  1608  	Timeout *float64 `json:"timeout"`
  1609  }
  1610  type LocatorDragToOptions struct {
  1611  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1612  	Force *bool `json:"force"`
  1613  	// Actions that initiate navigations are waiting for these navigations to happen and
  1614  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1615  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1616  	// pages. Defaults to `false`.
  1617  	NoWaitAfter *bool `json:"noWaitAfter"`
  1618  	// Clicks on the source element at this point relative to the top-left corner of the
  1619  	// element's padding box. If not specified, some visible point of the element is used.
  1620  	SourcePosition *LocatorDragToOptionsSourcePosition `json:"sourcePosition"`
  1621  	// Drops on the target element at this point relative to the top-left corner of the
  1622  	// element's padding box. If not specified, some visible point of the element is used.
  1623  	TargetPosition *LocatorDragToOptionsTargetPosition `json:"targetPosition"`
  1624  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1625  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1626  	// or Page.SetDefaultTimeout() methods.
  1627  	Timeout *float64 `json:"timeout"`
  1628  	// When set, this method only performs the [actionability](./actionability.md) checks
  1629  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1630  	// for the action without performing it.
  1631  	Trial *bool `json:"trial"`
  1632  }
  1633  type LocatorSourcePosition struct {
  1634  	X *float64 `json:"x"`
  1635  	Y *float64 `json:"y"`
  1636  }
  1637  type LocatorTargetPosition struct {
  1638  	X *float64 `json:"x"`
  1639  	Y *float64 `json:"y"`
  1640  }
  1641  type LocatorElementHandleOptions struct {
  1642  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1643  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1644  	// or Page.SetDefaultTimeout() methods.
  1645  	Timeout *float64 `json:"timeout"`
  1646  }
  1647  type LocatorEvaluateOptions struct {
  1648  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1649  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1650  	// or Page.SetDefaultTimeout() methods.
  1651  	Timeout *float64 `json:"timeout"`
  1652  }
  1653  type LocatorEvaluateAllOptions struct {
  1654  	// Optional argument to pass to `expression`.
  1655  	Arg interface{} `json:"arg"`
  1656  }
  1657  type LocatorEvaluateHandleOptions struct {
  1658  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1659  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1660  	// or Page.SetDefaultTimeout() methods.
  1661  	Timeout *float64 `json:"timeout"`
  1662  }
  1663  type LocatorFillOptions struct {
  1664  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1665  	Force *bool `json:"force"`
  1666  	// Actions that initiate navigations are waiting for these navigations to happen and
  1667  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1668  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1669  	// pages. Defaults to `false`.
  1670  	NoWaitAfter *bool `json:"noWaitAfter"`
  1671  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1672  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1673  	// or Page.SetDefaultTimeout() methods.
  1674  	Timeout *float64 `json:"timeout"`
  1675  }
  1676  type LocatorFocusOptions struct {
  1677  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1678  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1679  	// or Page.SetDefaultTimeout() methods.
  1680  	Timeout *float64 `json:"timeout"`
  1681  }
  1682  type LocatorGetAttributeOptions struct {
  1683  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1684  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1685  	// or Page.SetDefaultTimeout() methods.
  1686  	Timeout *float64 `json:"timeout"`
  1687  }
  1688  type LocatorHoverOptions struct {
  1689  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1690  	Force *bool `json:"force"`
  1691  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1692  	// operation, and then restores current modifiers back. If not specified, currently
  1693  	// pressed modifiers are used.
  1694  	Modifiers []KeyboardModifier `json:"modifiers"`
  1695  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1696  	// uses some visible point of the element.
  1697  	Position *LocatorHoverOptionsPosition `json:"position"`
  1698  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1699  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1700  	// or Page.SetDefaultTimeout() methods.
  1701  	Timeout *float64 `json:"timeout"`
  1702  	// When set, this method only performs the [actionability](./actionability.md) checks
  1703  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1704  	// for the action without performing it.
  1705  	Trial *bool `json:"trial"`
  1706  }
  1707  type LocatorInnerHTMLOptions struct {
  1708  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1709  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1710  	// or Page.SetDefaultTimeout() methods.
  1711  	Timeout *float64 `json:"timeout"`
  1712  }
  1713  type LocatorInnerTextOptions struct {
  1714  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1715  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1716  	// or Page.SetDefaultTimeout() methods.
  1717  	Timeout *float64 `json:"timeout"`
  1718  }
  1719  type LocatorInputValueOptions struct {
  1720  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1721  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1722  	// or Page.SetDefaultTimeout() methods.
  1723  	Timeout *float64 `json:"timeout"`
  1724  }
  1725  type LocatorIsCheckedOptions struct {
  1726  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1727  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1728  	// or Page.SetDefaultTimeout() methods.
  1729  	Timeout *float64 `json:"timeout"`
  1730  }
  1731  type LocatorIsDisabledOptions struct {
  1732  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1733  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1734  	// or Page.SetDefaultTimeout() methods.
  1735  	Timeout *float64 `json:"timeout"`
  1736  }
  1737  type LocatorIsEditableOptions struct {
  1738  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1739  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1740  	// or Page.SetDefaultTimeout() methods.
  1741  	Timeout *float64 `json:"timeout"`
  1742  }
  1743  type LocatorIsEnabledOptions struct {
  1744  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1745  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1746  	// or Page.SetDefaultTimeout() methods.
  1747  	Timeout *float64 `json:"timeout"`
  1748  }
  1749  type LocatorIsHiddenOptions struct {
  1750  	// **DEPRECATED** This option is ignored. Locator.IsHidden() does not wait for the
  1751  	// element to become hidden and returns immediately.
  1752  	Timeout *float64 `json:"timeout"`
  1753  }
  1754  type LocatorIsVisibleOptions struct {
  1755  	// **DEPRECATED** This option is ignored. Locator.IsVisible() does not wait for the
  1756  	// element to become visible and returns immediately.
  1757  	Timeout *float64 `json:"timeout"`
  1758  }
  1759  type LocatorLocatorOptions struct {
  1760  	// Matches elements containing an element that matches an inner locator. Inner locator
  1761  	// is queried against the outer one. For example, `article` that has `text=Playwright`
  1762  	// matches `<article><div>Playwright</div></article>`.
  1763  	// Note that outer and inner locators must belong to the same frame. Inner locator
  1764  	// must not contain FrameLocators.
  1765  	Has Locator `json:"has"`
  1766  	// Matches elements containing specified text somewhere inside, possibly in a child
  1767  	// or a descendant element. For example, `"Playwright"` matches `<article><div>Playwright</div></article>`.
  1768  	HasText interface{} `json:"hasText"`
  1769  }
  1770  type LocatorPressOptions struct {
  1771  	// Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
  1772  	Delay *float64 `json:"delay"`
  1773  	// Actions that initiate navigations are waiting for these navigations to happen and
  1774  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1775  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1776  	// pages. Defaults to `false`.
  1777  	NoWaitAfter *bool `json:"noWaitAfter"`
  1778  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1779  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1780  	// or Page.SetDefaultTimeout() methods.
  1781  	Timeout *float64 `json:"timeout"`
  1782  }
  1783  type LocatorScreenshotOptions struct {
  1784  	// When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations.
  1785  	// Animations get different treatment depending on their duration:
  1786  	// finite animations are fast-forwarded to completion, so they'll fire `transitionend`
  1787  	// event.
  1788  	// infinite animations are canceled to initial state, and then played over after the
  1789  	// screenshot.
  1790  	// Defaults to `"allow"` that leaves animations untouched.
  1791  	Animations *ScreenshotAnimations `json:"animations"`
  1792  	// When set to `"ready"`, screenshot will wait for [`document.fonts.ready`](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready)
  1793  	// promise to resolve in all frames. Defaults to `"nowait"`.
  1794  	Fonts *ScreenshotFonts `json:"fonts"`
  1795  	// Hides default white background and allows capturing screenshots with transparency.
  1796  	// Not applicable to `jpeg` images. Defaults to `false`.
  1797  	OmitBackground *bool `json:"omitBackground"`
  1798  	// The file path to save the image to. The screenshot type will be inferred from file
  1799  	// extension. If `path` is a relative path, then it is resolved relative to the current
  1800  	// working directory. If no path is provided, the image won't be saved to the disk.
  1801  	Path *string `json:"path"`
  1802  	// The quality of the image, between 0-100. Not applicable to `png` images.
  1803  	Quality *int `json:"quality"`
  1804  	// When set to `"css"`, screenshot will have a single pixel per each css pixel on the
  1805  	// page. For high-dpi devices, this will keep screenshots small. Using `"device"` option
  1806  	// will produce a single pixel per each device pixel, so screenhots of high-dpi devices
  1807  	// will be twice as large or even larger. Defaults to `"device"`.
  1808  	Size *ScreenshotSize `json:"size"`
  1809  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1810  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1811  	// or Page.SetDefaultTimeout() methods.
  1812  	Timeout *float64 `json:"timeout"`
  1813  	// Specify screenshot type, defaults to `png`.
  1814  	Type *ScreenshotType `json:"type"`
  1815  }
  1816  type LocatorScrollIntoViewIfNeededOptions struct {
  1817  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1818  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1819  	// or Page.SetDefaultTimeout() methods.
  1820  	Timeout *float64 `json:"timeout"`
  1821  }
  1822  type LocatorSelectOptionOptions struct {
  1823  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1824  	Force *bool `json:"force"`
  1825  	// Actions that initiate navigations are waiting for these navigations to happen and
  1826  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1827  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1828  	// pages. Defaults to `false`.
  1829  	NoWaitAfter *bool `json:"noWaitAfter"`
  1830  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1831  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1832  	// or Page.SetDefaultTimeout() methods.
  1833  	Timeout *float64 `json:"timeout"`
  1834  }
  1835  type LocatorSelectTextOptions struct {
  1836  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1837  	Force *bool `json:"force"`
  1838  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1839  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1840  	// or Page.SetDefaultTimeout() methods.
  1841  	Timeout *float64 `json:"timeout"`
  1842  }
  1843  type LocatorSetCheckedOptions struct {
  1844  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1845  	Force *bool `json:"force"`
  1846  	// Actions that initiate navigations are waiting for these navigations to happen and
  1847  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1848  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1849  	// pages. Defaults to `false`.
  1850  	NoWaitAfter *bool `json:"noWaitAfter"`
  1851  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1852  	// uses some visible point of the element.
  1853  	Position *LocatorSetCheckedOptionsPosition `json:"position"`
  1854  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1855  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1856  	// or Page.SetDefaultTimeout() methods.
  1857  	Timeout *float64 `json:"timeout"`
  1858  	// When set, this method only performs the [actionability](./actionability.md) checks
  1859  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1860  	// for the action without performing it.
  1861  	Trial *bool `json:"trial"`
  1862  }
  1863  type LocatorSetInputFilesOptions struct {
  1864  	// Actions that initiate navigations are waiting for these navigations to happen and
  1865  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1866  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1867  	// pages. Defaults to `false`.
  1868  	NoWaitAfter *bool `json:"noWaitAfter"`
  1869  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1870  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1871  	// or Page.SetDefaultTimeout() methods.
  1872  	Timeout *float64 `json:"timeout"`
  1873  }
  1874  type LocatorTapOptions struct {
  1875  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1876  	Force *bool `json:"force"`
  1877  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  1878  	// operation, and then restores current modifiers back. If not specified, currently
  1879  	// pressed modifiers are used.
  1880  	Modifiers []KeyboardModifier `json:"modifiers"`
  1881  	// Actions that initiate navigations are waiting for these navigations to happen and
  1882  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1883  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1884  	// pages. Defaults to `false`.
  1885  	NoWaitAfter *bool `json:"noWaitAfter"`
  1886  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1887  	// uses some visible point of the element.
  1888  	Position *LocatorTapOptionsPosition `json:"position"`
  1889  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1890  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1891  	// or Page.SetDefaultTimeout() methods.
  1892  	Timeout *float64 `json:"timeout"`
  1893  	// When set, this method only performs the [actionability](./actionability.md) checks
  1894  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1895  	// for the action without performing it.
  1896  	Trial *bool `json:"trial"`
  1897  }
  1898  type LocatorTextContentOptions struct {
  1899  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1900  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1901  	// or Page.SetDefaultTimeout() methods.
  1902  	Timeout *float64 `json:"timeout"`
  1903  }
  1904  type LocatorTypeOptions struct {
  1905  	// Time to wait between key presses in milliseconds. Defaults to 0.
  1906  	Delay *float64 `json:"delay"`
  1907  	// Actions that initiate navigations are waiting for these navigations to happen and
  1908  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1909  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1910  	// pages. Defaults to `false`.
  1911  	NoWaitAfter *bool `json:"noWaitAfter"`
  1912  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1913  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1914  	// or Page.SetDefaultTimeout() methods.
  1915  	Timeout *float64 `json:"timeout"`
  1916  }
  1917  type LocatorUncheckOptions struct {
  1918  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  1919  	Force *bool `json:"force"`
  1920  	// Actions that initiate navigations are waiting for these navigations to happen and
  1921  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  1922  	// would only need this option in the exceptional cases such as navigating to inaccessible
  1923  	// pages. Defaults to `false`.
  1924  	NoWaitAfter *bool `json:"noWaitAfter"`
  1925  	// A point to use relative to the top-left corner of element padding box. If not specified,
  1926  	// uses some visible point of the element.
  1927  	Position *LocatorUncheckOptionsPosition `json:"position"`
  1928  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1929  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1930  	// or Page.SetDefaultTimeout() methods.
  1931  	Timeout *float64 `json:"timeout"`
  1932  	// When set, this method only performs the [actionability](./actionability.md) checks
  1933  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  1934  	// for the action without performing it.
  1935  	Trial *bool `json:"trial"`
  1936  }
  1937  type LocatorWaitForOptions struct {
  1938  	// Defaults to `'visible'`. Can be either:
  1939  	// `'attached'` - wait for element to be present in DOM.
  1940  	// `'detached'` - wait for element to not be present in DOM.
  1941  	// `'visible'` - wait for element to have non-empty bounding box and no `visibility:hidden`.
  1942  	// Note that element without any content or with `display:none` has an empty bounding
  1943  	// box and is not considered visible.
  1944  	// `'hidden'` - wait for element to be either detached from DOM, or have an empty bounding
  1945  	// box or `visibility:hidden`. This is opposite to the `'visible'` option.
  1946  	State *WaitForSelectorState `json:"state"`
  1947  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  1948  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  1949  	// or Page.SetDefaultTimeout() methods.
  1950  	Timeout *float64 `json:"timeout"`
  1951  }
  1952  type LocatorAssertionsToBeCheckedOptions struct {
  1953  	Checked *bool `json:"checked"`
  1954  }
  1955  type LocatorAssertionsToContainTextOptions struct {
  1956  	// Whether to use `element.innerText` instead of `element.textContent` when retrieving
  1957  	// DOM node text.
  1958  	UseInnerText *bool `json:"useInnerText"`
  1959  }
  1960  type LocatorAssertionsToHaveTextOptions struct {
  1961  	// Whether to use `element.innerText` instead of `element.textContent` when retrieving
  1962  	// DOM node text.
  1963  	UseInnerText *bool `json:"useInnerText"`
  1964  }
  1965  type MouseClickOptions struct {
  1966  	// Defaults to `left`.
  1967  	Button *MouseButton `json:"button"`
  1968  	// defaults to 1. See [UIEvent.detail].
  1969  	ClickCount *int `json:"clickCount"`
  1970  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  1971  	Delay *float64 `json:"delay"`
  1972  }
  1973  type MouseDblclickOptions struct {
  1974  	// Defaults to `left`.
  1975  	Button *MouseButton `json:"button"`
  1976  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  1977  	Delay *float64 `json:"delay"`
  1978  }
  1979  type MouseDownOptions struct {
  1980  	// Defaults to `left`.
  1981  	Button *MouseButton `json:"button"`
  1982  	// defaults to 1. See [UIEvent.detail].
  1983  	ClickCount *int `json:"clickCount"`
  1984  }
  1985  type MouseMoveOptions struct {
  1986  	// defaults to 1. Sends intermediate `mousemove` events.
  1987  	Steps *int `json:"steps"`
  1988  }
  1989  type MouseUpOptions struct {
  1990  	// Defaults to `left`.
  1991  	Button *MouseButton `json:"button"`
  1992  	// defaults to 1. See [UIEvent.detail].
  1993  	ClickCount *int `json:"clickCount"`
  1994  }
  1995  type PageAddInitScriptOptions struct {
  1996  	// Optional Script source to be evaluated in all pages in the browser context.
  1997  	Script *string `json:"script"`
  1998  	// Optional Script path to be evaluated in all pages in the browser context.
  1999  	Path *string `json:"path"`
  2000  }
  2001  type PageAddScriptTagOptions struct {
  2002  	// Raw JavaScript content to be injected into frame.
  2003  	Content *string `json:"content"`
  2004  	// Path to the JavaScript file to be injected into frame. If `path` is a relative path,
  2005  	// then it is resolved relative to the current working directory.
  2006  	Path *string `json:"path"`
  2007  	// Script type. Use 'module' in order to load a Javascript ES6 module. See [script](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)
  2008  	// for more details.
  2009  	Type *string `json:"type"`
  2010  	// URL of a script to be added.
  2011  	URL *string `json:"url"`
  2012  }
  2013  type PageAddStyleTagOptions struct {
  2014  	// Raw CSS content to be injected into frame.
  2015  	Content *string `json:"content"`
  2016  	// Path to the CSS file to be injected into frame. If `path` is a relative path, then
  2017  	// it is resolved relative to the current working directory.
  2018  	Path *string `json:"path"`
  2019  	// URL of the `<link>` tag.
  2020  	URL *string `json:"url"`
  2021  }
  2022  type PageCheckOptions struct {
  2023  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2024  	Force *bool `json:"force"`
  2025  	// Actions that initiate navigations are waiting for these navigations to happen and
  2026  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2027  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2028  	// pages. Defaults to `false`.
  2029  	NoWaitAfter *bool `json:"noWaitAfter"`
  2030  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2031  	// uses some visible point of the element.
  2032  	Position *PageCheckOptionsPosition `json:"position"`
  2033  	// When true, the call requires selector to resolve to a single element. If given selector
  2034  	// resolves to more then one element, the call throws an exception.
  2035  	Strict *bool `json:"strict"`
  2036  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2037  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2038  	// or Page.SetDefaultTimeout() methods.
  2039  	Timeout *float64 `json:"timeout"`
  2040  	// When set, this method only performs the [actionability](./actionability.md) checks
  2041  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2042  	// for the action without performing it.
  2043  	Trial *bool `json:"trial"`
  2044  }
  2045  type PagePosition struct {
  2046  	X *float64 `json:"x"`
  2047  	Y *float64 `json:"y"`
  2048  }
  2049  type PageClickOptions struct {
  2050  	// Defaults to `left`.
  2051  	Button *MouseButton `json:"button"`
  2052  	// defaults to 1. See [UIEvent.detail].
  2053  	ClickCount *int `json:"clickCount"`
  2054  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  2055  	Delay *float64 `json:"delay"`
  2056  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2057  	Force *bool `json:"force"`
  2058  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  2059  	// operation, and then restores current modifiers back. If not specified, currently
  2060  	// pressed modifiers are used.
  2061  	Modifiers []KeyboardModifier `json:"modifiers"`
  2062  	// Actions that initiate navigations are waiting for these navigations to happen and
  2063  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2064  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2065  	// pages. Defaults to `false`.
  2066  	NoWaitAfter *bool `json:"noWaitAfter"`
  2067  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2068  	// uses some visible point of the element.
  2069  	Position *PageClickOptionsPosition `json:"position"`
  2070  	// When true, the call requires selector to resolve to a single element. If given selector
  2071  	// resolves to more then one element, the call throws an exception.
  2072  	Strict *bool `json:"strict"`
  2073  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2074  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2075  	// or Page.SetDefaultTimeout() methods.
  2076  	Timeout *float64 `json:"timeout"`
  2077  	// When set, this method only performs the [actionability](./actionability.md) checks
  2078  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2079  	// for the action without performing it.
  2080  	Trial *bool `json:"trial"`
  2081  }
  2082  type PageCloseOptions struct {
  2083  	// Defaults to `false`. Whether to run the [before unload](https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload)
  2084  	// page handlers.
  2085  	RunBeforeUnload *bool `json:"runBeforeUnload"`
  2086  }
  2087  type PageDblclickOptions struct {
  2088  	// Defaults to `left`.
  2089  	Button *MouseButton `json:"button"`
  2090  	// Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0.
  2091  	Delay *float64 `json:"delay"`
  2092  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2093  	Force *bool `json:"force"`
  2094  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  2095  	// operation, and then restores current modifiers back. If not specified, currently
  2096  	// pressed modifiers are used.
  2097  	Modifiers []KeyboardModifier `json:"modifiers"`
  2098  	// Actions that initiate navigations are waiting for these navigations to happen and
  2099  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2100  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2101  	// pages. Defaults to `false`.
  2102  	NoWaitAfter *bool `json:"noWaitAfter"`
  2103  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2104  	// uses some visible point of the element.
  2105  	Position *PageDblclickOptionsPosition `json:"position"`
  2106  	// When true, the call requires selector to resolve to a single element. If given selector
  2107  	// resolves to more then one element, the call throws an exception.
  2108  	Strict *bool `json:"strict"`
  2109  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2110  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2111  	// or Page.SetDefaultTimeout() methods.
  2112  	Timeout *float64 `json:"timeout"`
  2113  	// When set, this method only performs the [actionability](./actionability.md) checks
  2114  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2115  	// for the action without performing it.
  2116  	Trial *bool `json:"trial"`
  2117  }
  2118  type PageDispatchEventOptions struct {
  2119  	// When true, the call requires selector to resolve to a single element. If given selector
  2120  	// resolves to more then one element, the call throws an exception.
  2121  	Strict *bool `json:"strict"`
  2122  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2123  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2124  	// or Page.SetDefaultTimeout() methods.
  2125  	Timeout *float64 `json:"timeout"`
  2126  }
  2127  type PageDragAndDropOptions struct {
  2128  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2129  	Force *bool `json:"force"`
  2130  	// Actions that initiate navigations are waiting for these navigations to happen and
  2131  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2132  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2133  	// pages. Defaults to `false`.
  2134  	NoWaitAfter *bool `json:"noWaitAfter"`
  2135  	// Clicks on the source element at this point relative to the top-left corner of the
  2136  	// element's padding box. If not specified, some visible point of the element is used.
  2137  	SourcePosition *PageDragAndDropOptionsSourcePosition `json:"sourcePosition"`
  2138  	// When true, the call requires selector to resolve to a single element. If given selector
  2139  	// resolves to more then one element, the call throws an exception.
  2140  	Strict *bool `json:"strict"`
  2141  	// Drops on the target element at this point relative to the top-left corner of the
  2142  	// element's padding box. If not specified, some visible point of the element is used.
  2143  	TargetPosition *PageDragAndDropOptionsTargetPosition `json:"targetPosition"`
  2144  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2145  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2146  	// or Page.SetDefaultTimeout() methods.
  2147  	Timeout *float64 `json:"timeout"`
  2148  	// When set, this method only performs the [actionability](./actionability.md) checks
  2149  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2150  	// for the action without performing it.
  2151  	Trial *bool `json:"trial"`
  2152  }
  2153  type PageSourcePosition struct {
  2154  	X *float64 `json:"x"`
  2155  	Y *float64 `json:"y"`
  2156  }
  2157  type PageTargetPosition struct {
  2158  	X *float64 `json:"x"`
  2159  	Y *float64 `json:"y"`
  2160  }
  2161  type PageEmulateMediaOptions struct {
  2162  	// Emulates `'prefers-colors-scheme'` media feature, supported values are `'light'`,
  2163  	// `'dark'`, `'no-preference'`. Passing `'Null'` disables color scheme emulation.
  2164  	ColorScheme *ColorScheme `json:"colorScheme"`
  2165  	// Changes the CSS media type of the page. The only allowed values are `'Screen'`,
  2166  	// `'Print'` and `'Null'`. Passing `'Null'` disables CSS media emulation.
  2167  	Media *Media `json:"media"`
  2168  	// Emulates `'prefers-reduced-motion'` media feature, supported values are `'reduce'`,
  2169  	// `'no-preference'`. Passing `null` disables reduced motion emulation.
  2170  	ReducedMotion *ReducedMotion `json:"reducedMotion"`
  2171  }
  2172  type PageEvalOnSelectorOptions struct {
  2173  	// When true, the call requires selector to resolve to a single element. If given selector
  2174  	// resolves to more then one element, the call throws an exception.
  2175  	Strict *bool `json:"strict"`
  2176  }
  2177  type PageEvalOnSelectorAllOptions struct {
  2178  	// Optional argument to pass to `expression`.
  2179  	Arg interface{} `json:"arg"`
  2180  }
  2181  type PageEvaluateOptions struct {
  2182  	// Optional argument to pass to `expression`.
  2183  	Arg interface{} `json:"arg"`
  2184  }
  2185  type PageEvaluateHandleOptions struct {
  2186  	// Optional argument to pass to `expression`.
  2187  	Arg interface{} `json:"arg"`
  2188  }
  2189  type PageExposeBindingOptions struct {
  2190  	// Whether to pass the argument as a handle, instead of passing by value. When passing
  2191  	// a handle, only one argument is supported. When passing by value, multiple arguments
  2192  	// are supported.
  2193  	Handle *bool `json:"handle"`
  2194  }
  2195  type PageFillOptions struct {
  2196  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2197  	Force *bool `json:"force"`
  2198  	// Actions that initiate navigations are waiting for these navigations to happen and
  2199  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2200  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2201  	// pages. Defaults to `false`.
  2202  	NoWaitAfter *bool `json:"noWaitAfter"`
  2203  	// When true, the call requires selector to resolve to a single element. If given selector
  2204  	// resolves to more then one element, the call throws an exception.
  2205  	Strict *bool `json:"strict"`
  2206  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2207  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2208  	// or Page.SetDefaultTimeout() methods.
  2209  	Timeout *float64 `json:"timeout"`
  2210  }
  2211  type PageFocusOptions struct {
  2212  	// When true, the call requires selector to resolve to a single element. If given selector
  2213  	// resolves to more then one element, the call throws an exception.
  2214  	Strict *bool `json:"strict"`
  2215  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2216  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2217  	// or Page.SetDefaultTimeout() methods.
  2218  	Timeout *float64 `json:"timeout"`
  2219  }
  2220  type PageGetAttributeOptions struct {
  2221  	// When true, the call requires selector to resolve to a single element. If given selector
  2222  	// resolves to more then one element, the call throws an exception.
  2223  	Strict *bool `json:"strict"`
  2224  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2225  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2226  	// or Page.SetDefaultTimeout() methods.
  2227  	Timeout *float64 `json:"timeout"`
  2228  }
  2229  type PageGoBackOptions struct {
  2230  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2231  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2232  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2233  	// methods.
  2234  	Timeout *float64 `json:"timeout"`
  2235  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2236  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2237  	// event is fired.
  2238  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2239  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2240  	// for at least `500` ms.
  2241  	// `'commit'` - consider operation to be finished when network response is received
  2242  	// and the document started loading.
  2243  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2244  }
  2245  type PageGoForwardOptions struct {
  2246  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2247  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2248  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2249  	// methods.
  2250  	Timeout *float64 `json:"timeout"`
  2251  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2252  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2253  	// event is fired.
  2254  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2255  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2256  	// for at least `500` ms.
  2257  	// `'commit'` - consider operation to be finished when network response is received
  2258  	// and the document started loading.
  2259  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2260  }
  2261  type PageGotoOptions struct {
  2262  	// Referer header value. If provided it will take preference over the referer header
  2263  	// value set by Page.SetExtraHttpHeaders().
  2264  	Referer *string `json:"referer"`
  2265  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2266  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2267  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2268  	// methods.
  2269  	Timeout *float64 `json:"timeout"`
  2270  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2271  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2272  	// event is fired.
  2273  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2274  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2275  	// for at least `500` ms.
  2276  	// `'commit'` - consider operation to be finished when network response is received
  2277  	// and the document started loading.
  2278  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2279  }
  2280  type PageHoverOptions struct {
  2281  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2282  	Force *bool `json:"force"`
  2283  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  2284  	// operation, and then restores current modifiers back. If not specified, currently
  2285  	// pressed modifiers are used.
  2286  	Modifiers []KeyboardModifier `json:"modifiers"`
  2287  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2288  	// uses some visible point of the element.
  2289  	Position *PageHoverOptionsPosition `json:"position"`
  2290  	// When true, the call requires selector to resolve to a single element. If given selector
  2291  	// resolves to more then one element, the call throws an exception.
  2292  	Strict *bool `json:"strict"`
  2293  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2294  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2295  	// or Page.SetDefaultTimeout() methods.
  2296  	Timeout *float64 `json:"timeout"`
  2297  	// When set, this method only performs the [actionability](./actionability.md) checks
  2298  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2299  	// for the action without performing it.
  2300  	Trial *bool `json:"trial"`
  2301  }
  2302  type PageInnerHTMLOptions struct {
  2303  	// When true, the call requires selector to resolve to a single element. If given selector
  2304  	// resolves to more then one element, the call throws an exception.
  2305  	Strict *bool `json:"strict"`
  2306  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2307  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2308  	// or Page.SetDefaultTimeout() methods.
  2309  	Timeout *float64 `json:"timeout"`
  2310  }
  2311  type PageInnerTextOptions struct {
  2312  	// When true, the call requires selector to resolve to a single element. If given selector
  2313  	// resolves to more then one element, the call throws an exception.
  2314  	Strict *bool `json:"strict"`
  2315  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2316  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2317  	// or Page.SetDefaultTimeout() methods.
  2318  	Timeout *float64 `json:"timeout"`
  2319  }
  2320  type PageInputValueOptions struct {
  2321  	// When true, the call requires selector to resolve to a single element. If given selector
  2322  	// resolves to more then one element, the call throws an exception.
  2323  	Strict *bool `json:"strict"`
  2324  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2325  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2326  	// or Page.SetDefaultTimeout() methods.
  2327  	Timeout *float64 `json:"timeout"`
  2328  }
  2329  type PageIsCheckedOptions struct {
  2330  	// When true, the call requires selector to resolve to a single element. If given selector
  2331  	// resolves to more then one element, the call throws an exception.
  2332  	Strict *bool `json:"strict"`
  2333  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2334  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2335  	// or Page.SetDefaultTimeout() methods.
  2336  	Timeout *float64 `json:"timeout"`
  2337  }
  2338  type PageIsDisabledOptions struct {
  2339  	// When true, the call requires selector to resolve to a single element. If given selector
  2340  	// resolves to more then one element, the call throws an exception.
  2341  	Strict *bool `json:"strict"`
  2342  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2343  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2344  	// or Page.SetDefaultTimeout() methods.
  2345  	Timeout *float64 `json:"timeout"`
  2346  }
  2347  type PageIsEditableOptions struct {
  2348  	// When true, the call requires selector to resolve to a single element. If given selector
  2349  	// resolves to more then one element, the call throws an exception.
  2350  	Strict *bool `json:"strict"`
  2351  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2352  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2353  	// or Page.SetDefaultTimeout() methods.
  2354  	Timeout *float64 `json:"timeout"`
  2355  }
  2356  type PageIsEnabledOptions struct {
  2357  	// When true, the call requires selector to resolve to a single element. If given selector
  2358  	// resolves to more then one element, the call throws an exception.
  2359  	Strict *bool `json:"strict"`
  2360  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2361  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2362  	// or Page.SetDefaultTimeout() methods.
  2363  	Timeout *float64 `json:"timeout"`
  2364  }
  2365  type PageIsHiddenOptions struct {
  2366  	// When true, the call requires selector to resolve to a single element. If given selector
  2367  	// resolves to more then one element, the call throws an exception.
  2368  	Strict *bool `json:"strict"`
  2369  	// **DEPRECATED** This option is ignored. Page.IsHidden() does not wait for the element
  2370  	// to become hidden and returns immediately.
  2371  	Timeout *float64 `json:"timeout"`
  2372  }
  2373  type PageIsVisibleOptions struct {
  2374  	// When true, the call requires selector to resolve to a single element. If given selector
  2375  	// resolves to more then one element, the call throws an exception.
  2376  	Strict *bool `json:"strict"`
  2377  	// **DEPRECATED** This option is ignored. Page.IsVisible() does not wait for the element
  2378  	// to become visible and returns immediately.
  2379  	Timeout *float64 `json:"timeout"`
  2380  }
  2381  type PageLocatorOptions struct {
  2382  	// Matches elements containing an element that matches an inner locator. Inner locator
  2383  	// is queried against the outer one. For example, `article` that has `text=Playwright`
  2384  	// matches `<article><div>Playwright</div></article>`.
  2385  	// Note that outer and inner locators must belong to the same frame. Inner locator
  2386  	// must not contain FrameLocators.
  2387  	Has Locator `json:"has"`
  2388  	// Matches elements containing specified text somewhere inside, possibly in a child
  2389  	// or a descendant element. For example, `"Playwright"` matches `<article><div>Playwright</div></article>`.
  2390  	HasText interface{} `json:"hasText"`
  2391  }
  2392  type PagePdfOptions struct {
  2393  	// Display header and footer. Defaults to `false`.
  2394  	DisplayHeaderFooter *bool `json:"displayHeaderFooter"`
  2395  	// HTML template for the print footer. Should use the same format as the `headerTemplate`.
  2396  	FooterTemplate *string `json:"footerTemplate"`
  2397  	// Paper format. If set, takes priority over `width` or `height` options. Defaults
  2398  	// to 'Letter'.
  2399  	Format *string `json:"format"`
  2400  	// HTML template for the print header. Should be valid HTML markup with following classes
  2401  	// used to inject printing values into them:
  2402  	// `'date'` formatted print date
  2403  	// `'title'` document title
  2404  	// `'url'` document location
  2405  	// `'pageNumber'` current page number
  2406  	// `'totalPages'` total pages in the document
  2407  	HeaderTemplate *string `json:"headerTemplate"`
  2408  	// Paper height, accepts values labeled with units.
  2409  	Height *string `json:"height"`
  2410  	// Paper orientation. Defaults to `false`.
  2411  	Landscape *bool `json:"landscape"`
  2412  	// Paper margins, defaults to none.
  2413  	Margin *PagePdfOptionsMargin `json:"margin"`
  2414  	// Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which
  2415  	// means print all pages.
  2416  	PageRanges *string `json:"pageRanges"`
  2417  	// The file path to save the PDF to. If `path` is a relative path, then it is resolved
  2418  	// relative to the current working directory. If no path is provided, the PDF won't
  2419  	// be saved to the disk.
  2420  	Path *string `json:"path"`
  2421  	// Give any CSS `@page` size declared in the page priority over what is declared in
  2422  	// `width` and `height` or `format` options. Defaults to `false`, which will scale
  2423  	// the content to fit the paper size.
  2424  	PreferCSSPageSize *bool `json:"preferCSSPageSize"`
  2425  	// Print background graphics. Defaults to `false`.
  2426  	PrintBackground *bool `json:"printBackground"`
  2427  	// Scale of the webpage rendering. Defaults to `1`. Scale amount must be between 0.1
  2428  	// and 2.
  2429  	Scale *float64 `json:"scale"`
  2430  	// Paper width, accepts values labeled with units.
  2431  	Width *string `json:"width"`
  2432  }
  2433  type PageMargin struct {
  2434  	// Top margin, accepts values labeled with units. Defaults to `0`.
  2435  	Top *string `json:"top"`
  2436  	// Right margin, accepts values labeled with units. Defaults to `0`.
  2437  	Right *string `json:"right"`
  2438  	// Bottom margin, accepts values labeled with units. Defaults to `0`.
  2439  	Bottom *string `json:"bottom"`
  2440  	// Left margin, accepts values labeled with units. Defaults to `0`.
  2441  	Left *string `json:"left"`
  2442  }
  2443  type PagePressOptions struct {
  2444  	// Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
  2445  	Delay *float64 `json:"delay"`
  2446  	// Actions that initiate navigations are waiting for these navigations to happen and
  2447  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2448  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2449  	// pages. Defaults to `false`.
  2450  	NoWaitAfter *bool `json:"noWaitAfter"`
  2451  	// When true, the call requires selector to resolve to a single element. If given selector
  2452  	// resolves to more then one element, the call throws an exception.
  2453  	Strict *bool `json:"strict"`
  2454  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2455  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2456  	// or Page.SetDefaultTimeout() methods.
  2457  	Timeout *float64 `json:"timeout"`
  2458  }
  2459  type PageQuerySelectorOptions struct {
  2460  	// When true, the call requires selector to resolve to a single element. If given selector
  2461  	// resolves to more then one element, the call throws an exception.
  2462  	Strict *bool `json:"strict"`
  2463  }
  2464  type PageReloadOptions struct {
  2465  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2466  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2467  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2468  	// methods.
  2469  	Timeout *float64 `json:"timeout"`
  2470  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2471  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2472  	// event is fired.
  2473  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2474  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2475  	// for at least `500` ms.
  2476  	// `'commit'` - consider operation to be finished when network response is received
  2477  	// and the document started loading.
  2478  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2479  }
  2480  type PageRouteOptions struct {
  2481  	// How often a route should be used. By default it will be used every time.
  2482  	Times *int `json:"times"`
  2483  }
  2484  type PageScreenshotOptions struct {
  2485  	// When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations.
  2486  	// Animations get different treatment depending on their duration:
  2487  	// finite animations are fast-forwarded to completion, so they'll fire `transitionend`
  2488  	// event.
  2489  	// infinite animations are canceled to initial state, and then played over after the
  2490  	// screenshot.
  2491  	// Defaults to `"allow"` that leaves animations untouched.
  2492  	Animations *ScreenshotAnimations `json:"animations"`
  2493  	// An object which specifies clipping of the resulting image. Should have the following
  2494  	// fields:
  2495  	Clip *PageScreenshotOptionsClip `json:"clip"`
  2496  	// When set to `"ready"`, screenshot will wait for [`document.fonts.ready`](https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/ready)
  2497  	// promise to resolve in all frames. Defaults to `"nowait"`.
  2498  	Fonts *ScreenshotFonts `json:"fonts"`
  2499  	// When true, takes a screenshot of the full scrollable page, instead of the currently
  2500  	// visible viewport. Defaults to `false`.
  2501  	FullPage *bool `json:"fullPage"`
  2502  	// Hides default white background and allows capturing screenshots with transparency.
  2503  	// Not applicable to `jpeg` images. Defaults to `false`.
  2504  	OmitBackground *bool `json:"omitBackground"`
  2505  	// The file path to save the image to. The screenshot type will be inferred from file
  2506  	// extension. If `path` is a relative path, then it is resolved relative to the current
  2507  	// working directory. If no path is provided, the image won't be saved to the disk.
  2508  	Path *string `json:"path"`
  2509  	// The quality of the image, between 0-100. Not applicable to `png` images.
  2510  	Quality *int `json:"quality"`
  2511  	// When set to `"css"`, screenshot will have a single pixel per each css pixel on the
  2512  	// page. For high-dpi devices, this will keep screenshots small. Using `"device"` option
  2513  	// will produce a single pixel per each device pixel, so screenhots of high-dpi devices
  2514  	// will be twice as large or even larger. Defaults to `"device"`.
  2515  	Size *ScreenshotSize `json:"size"`
  2516  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2517  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2518  	// or Page.SetDefaultTimeout() methods.
  2519  	Timeout *float64 `json:"timeout"`
  2520  	// Specify screenshot type, defaults to `png`.
  2521  	Type *ScreenshotType `json:"type"`
  2522  }
  2523  type PageClip struct {
  2524  	// x-coordinate of top-left corner of clip area
  2525  	X *float64 `json:"x"`
  2526  	// y-coordinate of top-left corner of clip area
  2527  	Y *float64 `json:"y"`
  2528  	// width of clipping area
  2529  	Width *float64 `json:"width"`
  2530  	// height of clipping area
  2531  	Height *float64 `json:"height"`
  2532  }
  2533  type PageSelectOptionOptions struct {
  2534  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2535  	Force *bool `json:"force"`
  2536  	// Actions that initiate navigations are waiting for these navigations to happen and
  2537  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2538  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2539  	// pages. Defaults to `false`.
  2540  	NoWaitAfter *bool `json:"noWaitAfter"`
  2541  	// When true, the call requires selector to resolve to a single element. If given selector
  2542  	// resolves to more then one element, the call throws an exception.
  2543  	Strict *bool `json:"strict"`
  2544  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2545  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2546  	// or Page.SetDefaultTimeout() methods.
  2547  	Timeout *float64 `json:"timeout"`
  2548  }
  2549  type PageSetCheckedOptions struct {
  2550  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2551  	Force *bool `json:"force"`
  2552  	// Actions that initiate navigations are waiting for these navigations to happen and
  2553  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2554  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2555  	// pages. Defaults to `false`.
  2556  	NoWaitAfter *bool `json:"noWaitAfter"`
  2557  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2558  	// uses some visible point of the element.
  2559  	Position *PageSetCheckedOptionsPosition `json:"position"`
  2560  	// When true, the call requires selector to resolve to a single element. If given selector
  2561  	// resolves to more then one element, the call throws an exception.
  2562  	Strict *bool `json:"strict"`
  2563  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2564  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2565  	// or Page.SetDefaultTimeout() methods.
  2566  	Timeout *float64 `json:"timeout"`
  2567  	// When set, this method only performs the [actionability](./actionability.md) checks
  2568  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2569  	// for the action without performing it.
  2570  	Trial *bool `json:"trial"`
  2571  }
  2572  type PageSetContentOptions struct {
  2573  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2574  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2575  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2576  	// methods.
  2577  	Timeout *float64 `json:"timeout"`
  2578  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2579  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2580  	// event is fired.
  2581  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2582  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2583  	// for at least `500` ms.
  2584  	// `'commit'` - consider operation to be finished when network response is received
  2585  	// and the document started loading.
  2586  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2587  }
  2588  type PageSetInputFilesOptions struct {
  2589  	// Actions that initiate navigations are waiting for these navigations to happen and
  2590  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2591  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2592  	// pages. Defaults to `false`.
  2593  	NoWaitAfter *bool `json:"noWaitAfter"`
  2594  	// When true, the call requires selector to resolve to a single element. If given selector
  2595  	// resolves to more then one element, the call throws an exception.
  2596  	Strict *bool `json:"strict"`
  2597  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2598  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2599  	// or Page.SetDefaultTimeout() methods.
  2600  	Timeout *float64 `json:"timeout"`
  2601  }
  2602  type PageTapOptions struct {
  2603  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2604  	Force *bool `json:"force"`
  2605  	// Modifier keys to press. Ensures that only these modifiers are pressed during the
  2606  	// operation, and then restores current modifiers back. If not specified, currently
  2607  	// pressed modifiers are used.
  2608  	Modifiers []KeyboardModifier `json:"modifiers"`
  2609  	// Actions that initiate navigations are waiting for these navigations to happen and
  2610  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2611  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2612  	// pages. Defaults to `false`.
  2613  	NoWaitAfter *bool `json:"noWaitAfter"`
  2614  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2615  	// uses some visible point of the element.
  2616  	Position *PageTapOptionsPosition `json:"position"`
  2617  	// When true, the call requires selector to resolve to a single element. If given selector
  2618  	// resolves to more then one element, the call throws an exception.
  2619  	Strict *bool `json:"strict"`
  2620  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2621  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2622  	// or Page.SetDefaultTimeout() methods.
  2623  	Timeout *float64 `json:"timeout"`
  2624  	// When set, this method only performs the [actionability](./actionability.md) checks
  2625  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2626  	// for the action without performing it.
  2627  	Trial *bool `json:"trial"`
  2628  }
  2629  type PageTextContentOptions struct {
  2630  	// When true, the call requires selector to resolve to a single element. If given selector
  2631  	// resolves to more then one element, the call throws an exception.
  2632  	Strict *bool `json:"strict"`
  2633  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2634  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2635  	// or Page.SetDefaultTimeout() methods.
  2636  	Timeout *float64 `json:"timeout"`
  2637  }
  2638  type PageTypeOptions struct {
  2639  	// Time to wait between key presses in milliseconds. Defaults to 0.
  2640  	Delay *float64 `json:"delay"`
  2641  	// Actions that initiate navigations are waiting for these navigations to happen and
  2642  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2643  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2644  	// pages. Defaults to `false`.
  2645  	NoWaitAfter *bool `json:"noWaitAfter"`
  2646  	// When true, the call requires selector to resolve to a single element. If given selector
  2647  	// resolves to more then one element, the call throws an exception.
  2648  	Strict *bool `json:"strict"`
  2649  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2650  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2651  	// or Page.SetDefaultTimeout() methods.
  2652  	Timeout *float64 `json:"timeout"`
  2653  }
  2654  type PageUncheckOptions struct {
  2655  	// Whether to bypass the [actionability](./actionability.md) checks. Defaults to `false`.
  2656  	Force *bool `json:"force"`
  2657  	// Actions that initiate navigations are waiting for these navigations to happen and
  2658  	// for pages to start loading. You can opt out of waiting via setting this flag. You
  2659  	// would only need this option in the exceptional cases such as navigating to inaccessible
  2660  	// pages. Defaults to `false`.
  2661  	NoWaitAfter *bool `json:"noWaitAfter"`
  2662  	// A point to use relative to the top-left corner of element padding box. If not specified,
  2663  	// uses some visible point of the element.
  2664  	Position *PageUncheckOptionsPosition `json:"position"`
  2665  	// When true, the call requires selector to resolve to a single element. If given selector
  2666  	// resolves to more then one element, the call throws an exception.
  2667  	Strict *bool `json:"strict"`
  2668  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2669  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2670  	// or Page.SetDefaultTimeout() methods.
  2671  	Timeout *float64 `json:"timeout"`
  2672  	// When set, this method only performs the [actionability](./actionability.md) checks
  2673  	// and skips the action. Defaults to `false`. Useful to wait until the element is ready
  2674  	// for the action without performing it.
  2675  	Trial *bool `json:"trial"`
  2676  }
  2677  type PageUnrouteOptions struct {
  2678  	// Optional handler function to route the request.
  2679  	Handler func(Route, Request) `json:"handler"`
  2680  }
  2681  
  2682  // Result of calling <see cref="Page.ViewportSize" />.
  2683  type PageViewportSizeResult struct {
  2684  	// page width in pixels.
  2685  	Width int `json:"width"`
  2686  	// page height in pixels.
  2687  	Height int `json:"height"`
  2688  }
  2689  type PageWaitForFunctionOptions struct {
  2690  	// If `polling` is `'raf'`, then `expression` is constantly executed in `requestAnimationFrame`
  2691  	// callback. If `polling` is a number, then it is treated as an interval in milliseconds
  2692  	// at which the function would be executed. Defaults to `raf`.
  2693  	Polling interface{} `json:"polling"`
  2694  	// maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass
  2695  	// `0` to disable timeout. The default value can be changed by using the BrowserContext.SetDefaultTimeout().
  2696  	Timeout *float64 `json:"timeout"`
  2697  }
  2698  type PageWaitForLoadStateOptions struct {
  2699  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2700  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2701  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2702  	// methods.
  2703  	Timeout *float64 `json:"timeout"`
  2704  }
  2705  type PageWaitForNavigationOptions struct {
  2706  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2707  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2708  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2709  	// methods.
  2710  	Timeout *float64 `json:"timeout"`
  2711  	// A glob pattern, regex pattern or predicate receiving [URL] to match while waiting
  2712  	// for the navigation. Note that if the parameter is a string without wilcard characters,
  2713  	// the method will wait for navigation to URL that is exactly equal to the string.
  2714  	URL interface{} `json:"url"`
  2715  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2716  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2717  	// event is fired.
  2718  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2719  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2720  	// for at least `500` ms.
  2721  	// `'commit'` - consider operation to be finished when network response is received
  2722  	// and the document started loading.
  2723  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2724  }
  2725  type PageWaitForRequestOptions struct {
  2726  	// Maximum wait time in milliseconds, defaults to 30 seconds, pass `0` to disable the
  2727  	// timeout. The default value can be changed by using the Page.SetDefaultTimeout()
  2728  	// method.
  2729  	Timeout *float64 `json:"timeout"`
  2730  }
  2731  type PageWaitForResponseOptions struct {
  2732  	// Maximum wait time in milliseconds, defaults to 30 seconds, pass `0` to disable the
  2733  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2734  	// or Page.SetDefaultTimeout() methods.
  2735  	Timeout *float64 `json:"timeout"`
  2736  }
  2737  type PageWaitForSelectorOptions struct {
  2738  	// Defaults to `'visible'`. Can be either:
  2739  	// `'attached'` - wait for element to be present in DOM.
  2740  	// `'detached'` - wait for element to not be present in DOM.
  2741  	// `'visible'` - wait for element to have non-empty bounding box and no `visibility:hidden`.
  2742  	// Note that element without any content or with `display:none` has an empty bounding
  2743  	// box and is not considered visible.
  2744  	// `'hidden'` - wait for element to be either detached from DOM, or have an empty bounding
  2745  	// box or `visibility:hidden`. This is opposite to the `'visible'` option.
  2746  	State *WaitForSelectorState `json:"state"`
  2747  	// When true, the call requires selector to resolve to a single element. If given selector
  2748  	// resolves to more then one element, the call throws an exception.
  2749  	Strict *bool `json:"strict"`
  2750  	// Maximum time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout.
  2751  	// The default value can be changed by using the BrowserContext.SetDefaultTimeout()
  2752  	// or Page.SetDefaultTimeout() methods.
  2753  	Timeout *float64 `json:"timeout"`
  2754  }
  2755  type PageWaitForURLOptions struct {
  2756  	// Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable
  2757  	// timeout. The default value can be changed by using the BrowserContext.SetDefaultNavigationTimeout(),
  2758  	// BrowserContext.SetDefaultTimeout(), Page.SetDefaultNavigationTimeout() or Page.SetDefaultTimeout()
  2759  	// methods.
  2760  	Timeout *float64 `json:"timeout"`
  2761  	// When to consider operation succeeded, defaults to `load`. Events can be either:
  2762  	// `'domcontentloaded'` - consider operation to be finished when the `DOMContentLoaded`
  2763  	// event is fired.
  2764  	// `'load'` - consider operation to be finished when the `load` event is fired.
  2765  	// `'networkidle'` - consider operation to be finished when there are no network connections
  2766  	// for at least `500` ms.
  2767  	// `'commit'` - consider operation to be finished when network response is received
  2768  	// and the document started loading.
  2769  	WaitUntil *WaitUntilState `json:"waitUntil"`
  2770  }
  2771  
  2772  // Result of calling <see cref="Request.HeadersArray" />.
  2773  type RequestHeadersArrayResult struct {
  2774  	// Name of the header.
  2775  	Name string `json:"name"`
  2776  	// Value of the header.
  2777  	Value string `json:"value"`
  2778  }
  2779  
  2780  // Result of calling <see cref="Request.Sizes" />.
  2781  type RequestSizesResult struct {
  2782  	// Size of the request body (POST data payload) in bytes. Set to 0 if there was no
  2783  	// body.
  2784  	RequestBodySize int `json:"requestBodySize"`
  2785  	// Total number of bytes from the start of the HTTP request message until (and including)
  2786  	// the double CRLF before the body.
  2787  	RequestHeadersSize int `json:"requestHeadersSize"`
  2788  	// Size of the received response body (encoded) in bytes.
  2789  	ResponseBodySize int `json:"responseBodySize"`
  2790  	// Total number of bytes from the start of the HTTP response message until (and including)
  2791  	// the double CRLF before the body.
  2792  	ResponseHeadersSize int `json:"responseHeadersSize"`
  2793  }
  2794  
  2795  // Result of calling <see cref="Request.Timing" />.
  2796  type RequestTimingResult struct {
  2797  	// Request start time in milliseconds elapsed since January 1, 1970 00:00:00 UTC
  2798  	StartTime float64 `json:"startTime"`
  2799  	// Time immediately before the browser starts the domain name lookup for the resource.
  2800  	// The value is given in milliseconds relative to `startTime`, -1 if not available.
  2801  	DomainLookupStart float64 `json:"domainLookupStart"`
  2802  	// Time immediately after the browser starts the domain name lookup for the resource.
  2803  	// The value is given in milliseconds relative to `startTime`, -1 if not available.
  2804  	DomainLookupEnd float64 `json:"domainLookupEnd"`
  2805  	// Time immediately before the user agent starts establishing the connection to the
  2806  	// server to retrieve the resource. The value is given in milliseconds relative to
  2807  	// `startTime`, -1 if not available.
  2808  	ConnectStart float64 `json:"connectStart"`
  2809  	// Time immediately before the browser starts the handshake process to secure the current
  2810  	// connection. The value is given in milliseconds relative to `startTime`, -1 if not
  2811  	// available.
  2812  	SecureConnectionStart float64 `json:"secureConnectionStart"`
  2813  	// Time immediately before the user agent starts establishing the connection to the
  2814  	// server to retrieve the resource. The value is given in milliseconds relative to
  2815  	// `startTime`, -1 if not available.
  2816  	ConnectEnd float64 `json:"connectEnd"`
  2817  	// Time immediately before the browser starts requesting the resource from the server,
  2818  	// cache, or local resource. The value is given in milliseconds relative to `startTime`,
  2819  	// -1 if not available.
  2820  	RequestStart float64 `json:"requestStart"`
  2821  	// Time immediately after the browser starts requesting the resource from the server,
  2822  	// cache, or local resource. The value is given in milliseconds relative to `startTime`,
  2823  	// -1 if not available.
  2824  	ResponseStart float64 `json:"responseStart"`
  2825  	// Time immediately after the browser receives the last byte of the resource or immediately
  2826  	// before the transport connection is closed, whichever comes first. The value is given
  2827  	// in milliseconds relative to `startTime`, -1 if not available.
  2828  	ResponseEnd float64 `json:"responseEnd"`
  2829  }
  2830  
  2831  // Result of calling <see cref="Response.HeadersArray" />.
  2832  type ResponseHeadersArrayResult struct {
  2833  	// Name of the header.
  2834  	Name string `json:"name"`
  2835  	// Value of the header.
  2836  	Value string `json:"value"`
  2837  }
  2838  
  2839  // Result of calling <see cref="Response.SecurityDetails" />.
  2840  type ResponseSecurityDetailsResult struct {
  2841  	// Common Name component of the Issuer field. from the certificate. This should only
  2842  	// be used for informational purposes. Optional.
  2843  	Issuer string `json:"issuer"`
  2844  	// The specific TLS protocol used. (e.g. `TLS 1.3`). Optional.
  2845  	Protocol string `json:"protocol"`
  2846  	// Common Name component of the Subject field from the certificate. This should only
  2847  	// be used for informational purposes. Optional.
  2848  	SubjectName string `json:"subjectName"`
  2849  	// Unix timestamp (in seconds) specifying when this cert becomes valid. Optional.
  2850  	ValidFrom float64 `json:"validFrom"`
  2851  	// Unix timestamp (in seconds) specifying when this cert becomes invalid. Optional.
  2852  	ValidTo float64 `json:"validTo"`
  2853  }
  2854  
  2855  // Result of calling <see cref="Response.ServerAddr" />.
  2856  type ResponseServerAddrResult struct {
  2857  	// IPv4 or IPV6 address of the server.
  2858  	IpAddress string `json:"ipAddress"`
  2859  	Port      int    `json:"port"`
  2860  }
  2861  type RouteAbortOptions struct {
  2862  	// Optional error code. Defaults to `failed`, could be one of the following:
  2863  	// `'aborted'` - An operation was aborted (due to user action)
  2864  	// `'accessdenied'` - Permission to access a resource, other than the network, was
  2865  	// denied
  2866  	// `'addressunreachable'` - The IP address is unreachable. This usually means that
  2867  	// there is no route to the specified host or network.
  2868  	// `'blockedbyclient'` - The client chose to block the request.
  2869  	// `'blockedbyresponse'` - The request failed because the response was delivered along
  2870  	// with requirements which are not met ('X-Frame-Options' and 'Content-Security-Policy'
  2871  	// ancestor checks, for instance).
  2872  	// `'connectionaborted'` - A connection timed out as a result of not receiving an ACK
  2873  	// for data sent.
  2874  	// `'connectionclosed'` - A connection was closed (corresponding to a TCP FIN).
  2875  	// `'connectionfailed'` - A connection attempt failed.
  2876  	// `'connectionrefused'` - A connection attempt was refused.
  2877  	// `'connectionreset'` - A connection was reset (corresponding to a TCP RST).
  2878  	// `'internetdisconnected'` - The Internet connection has been lost.
  2879  	// `'namenotresolved'` - The host name could not be resolved.
  2880  	// `'timedout'` - An operation timed out.
  2881  	// `'failed'` - A generic failure occurred.
  2882  	ErrorCode *string `json:"errorCode"`
  2883  }
  2884  type RouteContinueOptions struct {
  2885  	// If set changes the request HTTP headers. Header values will be converted to a string.
  2886  	Headers map[string]string `json:"headers"`
  2887  	// If set changes the request method (e.g. GET or POST)
  2888  	Method *string `json:"method"`
  2889  	// If set changes the post data of request
  2890  	PostData interface{} `json:"postData"`
  2891  	// If set changes the request URL. New URL must have same protocol as original one.
  2892  	URL *string `json:"url"`
  2893  }
  2894  type RouteFulfillOptions struct {
  2895  	// Response body.
  2896  	Body interface{} `json:"body"`
  2897  	// If set, equals to setting `Content-Type` response header.
  2898  	ContentType *string `json:"contentType"`
  2899  	// Response headers. Header values will be converted to a string.
  2900  	Headers map[string]string `json:"headers"`
  2901  	// File path to respond with. The content type will be inferred from file extension.
  2902  	// If `path` is a relative path, then it is resolved relative to the current working
  2903  	// directory.
  2904  	Path *string `json:"path"`
  2905  	// Response status code, defaults to `200`.
  2906  	Status *int `json:"status"`
  2907  }
  2908  type SelectorsRegisterOptions struct {
  2909  	// Whether to run this selector engine in isolated JavaScript environment. This environment
  2910  	// has access to the same DOM, but not any JavaScript objects from the frame's scripts.
  2911  	// Defaults to `false`. Note that running as a content script is not guaranteed when
  2912  	// this engine is used together with other registered engines.
  2913  	ContentScript *bool `json:"contentScript"`
  2914  }
  2915  type TracingStartOptions struct {
  2916  	// If specified, the trace is going to be saved into the file with the given name inside
  2917  	// the `tracesDir` folder specified in BrowserType.Launch().
  2918  	Name *string `json:"name"`
  2919  	// Whether to capture screenshots during tracing. Screenshots are used to build a timeline
  2920  	// preview.
  2921  	Screenshots *bool `json:"screenshots"`
  2922  	// If this option is true tracing will
  2923  	// capture DOM snapshot on every action
  2924  	// record network activity
  2925  	Snapshots *bool `json:"snapshots"`
  2926  	// Trace name to be shown in the Trace Viewer.
  2927  	Title *string `json:"title"`
  2928  }
  2929  type TracingStartChunkOptions struct {
  2930  	// Trace name to be shown in the Trace Viewer.
  2931  	Title *string `json:"title"`
  2932  }
  2933  type TracingStopOptions struct {
  2934  	// Export trace into the file with the given path.
  2935  	Path *string `json:"path"`
  2936  }
  2937  type TracingStopChunkOptions struct {
  2938  	// Export trace collected since the last Tracing.StartChunk() call into the file with
  2939  	// the given path.
  2940  	Path *string `json:"path"`
  2941  }
  2942  type FrameReceivedPayload struct {
  2943  	// frame payload
  2944  	Payload []byte `json:"payload"`
  2945  }
  2946  type FrameSentPayload struct {
  2947  	// frame payload
  2948  	Payload []byte `json:"payload"`
  2949  }
  2950  type WorkerEvaluateOptions struct {
  2951  	// Optional argument to pass to `expression`.
  2952  	Arg interface{} `json:"arg"`
  2953  }
  2954  type WorkerEvaluateHandleOptions struct {
  2955  	// Optional argument to pass to `expression`.
  2956  	Arg interface{} `json:"arg"`
  2957  }
  2958  type BrowserNewContextOptionsGeolocation struct {
  2959  	// Latitude between -90 and 90.
  2960  	Latitude *float64 `json:"latitude"`
  2961  	// Longitude between -180 and 180.
  2962  	Longitude *float64 `json:"longitude"`
  2963  	// Non-negative accuracy value. Defaults to `0`.
  2964  	Accuracy *float64 `json:"accuracy"`
  2965  }
  2966  type BrowserNewContextOptionsHttpCredentials struct {
  2967  	Username *string `json:"username"`
  2968  	Password *string `json:"password"`
  2969  }
  2970  type BrowserNewContextOptionsProxy struct {
  2971  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
  2972  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
  2973  	// is considered an HTTP proxy.
  2974  	Server *string `json:"server"`
  2975  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
  2976  	// .domain.com"`.
  2977  	Bypass *string `json:"bypass"`
  2978  	// Optional username to use if HTTP proxy requires authentication.
  2979  	Username *string `json:"username"`
  2980  	// Optional password to use if HTTP proxy requires authentication.
  2981  	Password *string `json:"password"`
  2982  }
  2983  type BrowserNewContextOptionsRecordVideo struct {
  2984  	// Path to the directory to put videos into.
  2985  	Dir *string `json:"dir"`
  2986  	// Optional dimensions of the recorded videos. If not specified the size will be equal
  2987  	// to `viewport` scaled down to fit into 800x800. If `viewport` is not configured explicitly
  2988  	// the video size defaults to 800x450. Actual picture of each page will be scaled down
  2989  	// if necessary to fit the specified size.
  2990  	Size *BrowserNewContextOptionsRecordVideoSize `json:"size"`
  2991  }
  2992  type BrowserNewContextOptionsScreen struct {
  2993  	// page width in pixels.
  2994  	Width *int `json:"width"`
  2995  	// page height in pixels.
  2996  	Height *int `json:"height"`
  2997  }
  2998  type BrowserNewContextOptionsStorageState struct {
  2999  	// cookies to set for context
  3000  	Cookies []BrowserNewContextOptionsStorageStateCookies `json:"cookies"`
  3001  	// localStorage to set for context
  3002  	Origins []BrowserNewContextOptionsStorageStateOrigins `json:"origins"`
  3003  }
  3004  type BrowserNewContextOptionsViewport struct {
  3005  	// page width in pixels.
  3006  	Width *int `json:"width"`
  3007  	// page height in pixels.
  3008  	Height *int `json:"height"`
  3009  }
  3010  type BrowserRecordVideoSize struct {
  3011  	// Video frame width.
  3012  	Width *int `json:"width"`
  3013  	// Video frame height.
  3014  	Height *int `json:"height"`
  3015  }
  3016  type BrowserStorageStateCookies struct {
  3017  	Name  *string `json:"name"`
  3018  	Value *string `json:"value"`
  3019  	// domain and path are required
  3020  	Domain *string `json:"domain"`
  3021  	// domain and path are required
  3022  	Path *string `json:"path"`
  3023  	// Unix time in seconds.
  3024  	Expires  *float64 `json:"expires"`
  3025  	HttpOnly *bool    `json:"httpOnly"`
  3026  	Secure   *bool    `json:"secure"`
  3027  	// sameSite flag
  3028  	SameSite *SameSiteAttribute `json:"sameSite"`
  3029  }
  3030  type BrowserStorageStateOrigins struct {
  3031  	Origin       *string                                  `json:"origin"`
  3032  	LocalStorage []BrowserStorageStateOriginsLocalStorage `json:"localStorage"`
  3033  }
  3034  type BrowserNewPageOptionsGeolocation struct {
  3035  	// Latitude between -90 and 90.
  3036  	Latitude *float64 `json:"latitude"`
  3037  	// Longitude between -180 and 180.
  3038  	Longitude *float64 `json:"longitude"`
  3039  	// Non-negative accuracy value. Defaults to `0`.
  3040  	Accuracy *float64 `json:"accuracy"`
  3041  }
  3042  type BrowserNewPageOptionsHttpCredentials struct {
  3043  	Username *string `json:"username"`
  3044  	Password *string `json:"password"`
  3045  }
  3046  type BrowserNewPageOptionsProxy struct {
  3047  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
  3048  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
  3049  	// is considered an HTTP proxy.
  3050  	Server *string `json:"server"`
  3051  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
  3052  	// .domain.com"`.
  3053  	Bypass *string `json:"bypass"`
  3054  	// Optional username to use if HTTP proxy requires authentication.
  3055  	Username *string `json:"username"`
  3056  	// Optional password to use if HTTP proxy requires authentication.
  3057  	Password *string `json:"password"`
  3058  }
  3059  type BrowserNewPageOptionsRecordVideo struct {
  3060  	// Path to the directory to put videos into.
  3061  	Dir *string `json:"dir"`
  3062  	// Optional dimensions of the recorded videos. If not specified the size will be equal
  3063  	// to `viewport` scaled down to fit into 800x800. If `viewport` is not configured explicitly
  3064  	// the video size defaults to 800x450. Actual picture of each page will be scaled down
  3065  	// if necessary to fit the specified size.
  3066  	Size *BrowserNewPageOptionsRecordVideoSize `json:"size"`
  3067  }
  3068  type BrowserNewPageOptionsScreen struct {
  3069  	// page width in pixels.
  3070  	Width *int `json:"width"`
  3071  	// page height in pixels.
  3072  	Height *int `json:"height"`
  3073  }
  3074  type BrowserNewPageOptionsStorageState struct {
  3075  	// cookies to set for context
  3076  	Cookies []BrowserNewPageOptionsStorageStateCookies `json:"cookies"`
  3077  	// localStorage to set for context
  3078  	Origins []BrowserNewPageOptionsStorageStateOrigins `json:"origins"`
  3079  }
  3080  type BrowserNewPageOptionsViewport struct {
  3081  	// page width in pixels.
  3082  	Width *int `json:"width"`
  3083  	// page height in pixels.
  3084  	Height *int `json:"height"`
  3085  }
  3086  type BrowserContextAddCookiesOptionsCookies struct {
  3087  	Name  *string `json:"name"`
  3088  	Value *string `json:"value"`
  3089  	// either url or domain / path are required. Optional.
  3090  	URL *string `json:"url"`
  3091  	// either url or domain / path are required Optional.
  3092  	Domain *string `json:"domain"`
  3093  	// either url or domain / path are required Optional.
  3094  	Path *string `json:"path"`
  3095  	// Unix time in seconds. Optional.
  3096  	Expires *float64 `json:"expires"`
  3097  	// Optional.
  3098  	HttpOnly *bool `json:"httpOnly"`
  3099  	// Optional.
  3100  	Secure *bool `json:"secure"`
  3101  	// Optional.
  3102  	SameSite *SameSiteAttribute `json:"sameSite"`
  3103  }
  3104  type BrowserContextStorageStateResultCookies struct {
  3105  	Name   *string `json:"name"`
  3106  	Value  *string `json:"value"`
  3107  	Domain *string `json:"domain"`
  3108  	Path   *string `json:"path"`
  3109  	// Unix time in seconds.
  3110  	Expires  *float64           `json:"expires"`
  3111  	HttpOnly *bool              `json:"httpOnly"`
  3112  	Secure   *bool              `json:"secure"`
  3113  	SameSite *SameSiteAttribute `json:"sameSite"`
  3114  }
  3115  type BrowserContextStorageStateResultOrigins struct {
  3116  	Origin       *string                                               `json:"origin"`
  3117  	LocalStorage []BrowserContextStorageStateResultOriginsLocalStorage `json:"localStorage"`
  3118  }
  3119  type BrowserTypeLaunchOptionsProxy struct {
  3120  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
  3121  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
  3122  	// is considered an HTTP proxy.
  3123  	Server *string `json:"server"`
  3124  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
  3125  	// .domain.com"`.
  3126  	Bypass *string `json:"bypass"`
  3127  	// Optional username to use if HTTP proxy requires authentication.
  3128  	Username *string `json:"username"`
  3129  	// Optional password to use if HTTP proxy requires authentication.
  3130  	Password *string `json:"password"`
  3131  }
  3132  type BrowserTypeLaunchPersistentContextOptionsGeolocation struct {
  3133  	// Latitude between -90 and 90.
  3134  	Latitude *float64 `json:"latitude"`
  3135  	// Longitude between -180 and 180.
  3136  	Longitude *float64 `json:"longitude"`
  3137  	// Non-negative accuracy value. Defaults to `0`.
  3138  	Accuracy *float64 `json:"accuracy"`
  3139  }
  3140  type BrowserTypeLaunchPersistentContextOptionsHttpCredentials struct {
  3141  	Username *string `json:"username"`
  3142  	Password *string `json:"password"`
  3143  }
  3144  type BrowserTypeLaunchPersistentContextOptionsProxy struct {
  3145  	// Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example
  3146  	// `http://myproxy.com:3128` or `socks5://myproxy.com:3128`. Short form `myproxy.com:3128`
  3147  	// is considered an HTTP proxy.
  3148  	Server *string `json:"server"`
  3149  	// Optional comma-separated domains to bypass proxy, for example `".com, chromium.org,
  3150  	// .domain.com"`.
  3151  	Bypass *string `json:"bypass"`
  3152  	// Optional username to use if HTTP proxy requires authentication.
  3153  	Username *string `json:"username"`
  3154  	// Optional password to use if HTTP proxy requires authentication.
  3155  	Password *string `json:"password"`
  3156  }
  3157  type BrowserTypeLaunchPersistentContextOptionsRecordVideo struct {
  3158  	// Path to the directory to put videos into.
  3159  	Dir *string `json:"dir"`
  3160  	// Optional dimensions of the recorded videos. If not specified the size will be equal
  3161  	// to `viewport` scaled down to fit into 800x800. If `viewport` is not configured explicitly
  3162  	// the video size defaults to 800x450. Actual picture of each page will be scaled down
  3163  	// if necessary to fit the specified size.
  3164  	Size *BrowserTypeLaunchPersistentContextOptionsRecordVideoSize `json:"size"`
  3165  }
  3166  type BrowserTypeLaunchPersistentContextOptionsScreen struct {
  3167  	// page width in pixels.
  3168  	Width *int `json:"width"`
  3169  	// page height in pixels.
  3170  	Height *int `json:"height"`
  3171  }
  3172  type BrowserTypeLaunchPersistentContextOptionsViewport struct {
  3173  	// page width in pixels.
  3174  	Width *int `json:"width"`
  3175  	// page height in pixels.
  3176  	Height *int `json:"height"`
  3177  }
  3178  type BrowserTypeRecordVideoSize struct {
  3179  	// Video frame width.
  3180  	Width *int `json:"width"`
  3181  	// Video frame height.
  3182  	Height *int `json:"height"`
  3183  }
  3184  type ElementHandleCheckOptionsPosition struct {
  3185  	X *float64 `json:"x"`
  3186  	Y *float64 `json:"y"`
  3187  }
  3188  type ElementHandleClickOptionsPosition struct {
  3189  	X *float64 `json:"x"`
  3190  	Y *float64 `json:"y"`
  3191  }
  3192  type ElementHandleDblclickOptionsPosition struct {
  3193  	X *float64 `json:"x"`
  3194  	Y *float64 `json:"y"`
  3195  }
  3196  type ElementHandleHoverOptionsPosition struct {
  3197  	X *float64 `json:"x"`
  3198  	Y *float64 `json:"y"`
  3199  }
  3200  type ElementHandleSetCheckedOptionsPosition struct {
  3201  	X *float64 `json:"x"`
  3202  	Y *float64 `json:"y"`
  3203  }
  3204  type ElementHandleTapOptionsPosition struct {
  3205  	X *float64 `json:"x"`
  3206  	Y *float64 `json:"y"`
  3207  }
  3208  type ElementHandleUncheckOptionsPosition struct {
  3209  	X *float64 `json:"x"`
  3210  	Y *float64 `json:"y"`
  3211  }
  3212  type FrameCheckOptionsPosition struct {
  3213  	X *float64 `json:"x"`
  3214  	Y *float64 `json:"y"`
  3215  }
  3216  type FrameClickOptionsPosition struct {
  3217  	X *float64 `json:"x"`
  3218  	Y *float64 `json:"y"`
  3219  }
  3220  type FrameDblclickOptionsPosition struct {
  3221  	X *float64 `json:"x"`
  3222  	Y *float64 `json:"y"`
  3223  }
  3224  type FrameDragAndDropOptionsSourcePosition struct {
  3225  	X *float64 `json:"x"`
  3226  	Y *float64 `json:"y"`
  3227  }
  3228  type FrameDragAndDropOptionsTargetPosition struct {
  3229  	X *float64 `json:"x"`
  3230  	Y *float64 `json:"y"`
  3231  }
  3232  type FrameHoverOptionsPosition struct {
  3233  	X *float64 `json:"x"`
  3234  	Y *float64 `json:"y"`
  3235  }
  3236  type FrameSetCheckedOptionsPosition struct {
  3237  	X *float64 `json:"x"`
  3238  	Y *float64 `json:"y"`
  3239  }
  3240  type FrameTapOptionsPosition struct {
  3241  	X *float64 `json:"x"`
  3242  	Y *float64 `json:"y"`
  3243  }
  3244  type FrameUncheckOptionsPosition struct {
  3245  	X *float64 `json:"x"`
  3246  	Y *float64 `json:"y"`
  3247  }
  3248  type LocatorCheckOptionsPosition struct {
  3249  	X *float64 `json:"x"`
  3250  	Y *float64 `json:"y"`
  3251  }
  3252  type LocatorClickOptionsPosition struct {
  3253  	X *float64 `json:"x"`
  3254  	Y *float64 `json:"y"`
  3255  }
  3256  type LocatorDblclickOptionsPosition struct {
  3257  	X *float64 `json:"x"`
  3258  	Y *float64 `json:"y"`
  3259  }
  3260  type LocatorDragToOptionsSourcePosition struct {
  3261  	X *float64 `json:"x"`
  3262  	Y *float64 `json:"y"`
  3263  }
  3264  type LocatorDragToOptionsTargetPosition struct {
  3265  	X *float64 `json:"x"`
  3266  	Y *float64 `json:"y"`
  3267  }
  3268  type LocatorHoverOptionsPosition struct {
  3269  	X *float64 `json:"x"`
  3270  	Y *float64 `json:"y"`
  3271  }
  3272  type LocatorSetCheckedOptionsPosition struct {
  3273  	X *float64 `json:"x"`
  3274  	Y *float64 `json:"y"`
  3275  }
  3276  type LocatorTapOptionsPosition struct {
  3277  	X *float64 `json:"x"`
  3278  	Y *float64 `json:"y"`
  3279  }
  3280  type LocatorUncheckOptionsPosition struct {
  3281  	X *float64 `json:"x"`
  3282  	Y *float64 `json:"y"`
  3283  }
  3284  type PageCheckOptionsPosition struct {
  3285  	X *float64 `json:"x"`
  3286  	Y *float64 `json:"y"`
  3287  }
  3288  type PageClickOptionsPosition struct {
  3289  	X *float64 `json:"x"`
  3290  	Y *float64 `json:"y"`
  3291  }
  3292  type PageDblclickOptionsPosition struct {
  3293  	X *float64 `json:"x"`
  3294  	Y *float64 `json:"y"`
  3295  }
  3296  type PageDragAndDropOptionsSourcePosition struct {
  3297  	X *float64 `json:"x"`
  3298  	Y *float64 `json:"y"`
  3299  }
  3300  type PageDragAndDropOptionsTargetPosition struct {
  3301  	X *float64 `json:"x"`
  3302  	Y *float64 `json:"y"`
  3303  }
  3304  type PageHoverOptionsPosition struct {
  3305  	X *float64 `json:"x"`
  3306  	Y *float64 `json:"y"`
  3307  }
  3308  type PagePdfOptionsMargin struct {
  3309  	// Top margin, accepts values labeled with units. Defaults to `0`.
  3310  	Top *string `json:"top"`
  3311  	// Right margin, accepts values labeled with units. Defaults to `0`.
  3312  	Right *string `json:"right"`
  3313  	// Bottom margin, accepts values labeled with units. Defaults to `0`.
  3314  	Bottom *string `json:"bottom"`
  3315  	// Left margin, accepts values labeled with units. Defaults to `0`.
  3316  	Left *string `json:"left"`
  3317  }
  3318  type PageScreenshotOptionsClip struct {
  3319  	// x-coordinate of top-left corner of clip area
  3320  	X *float64 `json:"x"`
  3321  	// y-coordinate of top-left corner of clip area
  3322  	Y *float64 `json:"y"`
  3323  	// width of clipping area
  3324  	Width *float64 `json:"width"`
  3325  	// height of clipping area
  3326  	Height *float64 `json:"height"`
  3327  }
  3328  type PageSetCheckedOptionsPosition struct {
  3329  	X *float64 `json:"x"`
  3330  	Y *float64 `json:"y"`
  3331  }
  3332  type PageTapOptionsPosition struct {
  3333  	X *float64 `json:"x"`
  3334  	Y *float64 `json:"y"`
  3335  }
  3336  type PageUncheckOptionsPosition struct {
  3337  	X *float64 `json:"x"`
  3338  	Y *float64 `json:"y"`
  3339  }
  3340  type BrowserNewContextOptionsRecordVideoSize struct {
  3341  	// Video frame width.
  3342  	Width *int `json:"width"`
  3343  	// Video frame height.
  3344  	Height *int `json:"height"`
  3345  }
  3346  type BrowserNewContextOptionsStorageStateCookies struct {
  3347  	Name  *string `json:"name"`
  3348  	Value *string `json:"value"`
  3349  	// domain and path are required
  3350  	Domain *string `json:"domain"`
  3351  	// domain and path are required
  3352  	Path *string `json:"path"`
  3353  	// Unix time in seconds.
  3354  	Expires  *float64 `json:"expires"`
  3355  	HttpOnly *bool    `json:"httpOnly"`
  3356  	Secure   *bool    `json:"secure"`
  3357  	// sameSite flag
  3358  	SameSite *SameSiteAttribute `json:"sameSite"`
  3359  }
  3360  type BrowserNewContextOptionsStorageStateOrigins struct {
  3361  	Origin       *string                                                   `json:"origin"`
  3362  	LocalStorage []BrowserNewContextOptionsStorageStateOriginsLocalStorage `json:"localStorage"`
  3363  }
  3364  type BrowserStorageStateOriginsLocalStorage struct {
  3365  	Name  *string `json:"name"`
  3366  	Value *string `json:"value"`
  3367  }
  3368  type BrowserNewPageOptionsRecordVideoSize struct {
  3369  	// Video frame width.
  3370  	Width *int `json:"width"`
  3371  	// Video frame height.
  3372  	Height *int `json:"height"`
  3373  }
  3374  type BrowserNewPageOptionsStorageStateCookies struct {
  3375  	Name  *string `json:"name"`
  3376  	Value *string `json:"value"`
  3377  	// domain and path are required
  3378  	Domain *string `json:"domain"`
  3379  	// domain and path are required
  3380  	Path *string `json:"path"`
  3381  	// Unix time in seconds.
  3382  	Expires  *float64 `json:"expires"`
  3383  	HttpOnly *bool    `json:"httpOnly"`
  3384  	Secure   *bool    `json:"secure"`
  3385  	// sameSite flag
  3386  	SameSite *SameSiteAttribute `json:"sameSite"`
  3387  }
  3388  type BrowserNewPageOptionsStorageStateOrigins struct {
  3389  	Origin       *string                                                `json:"origin"`
  3390  	LocalStorage []BrowserNewPageOptionsStorageStateOriginsLocalStorage `json:"localStorage"`
  3391  }
  3392  type BrowserContextStorageStateResultOriginsLocalStorage struct {
  3393  	Name  *string `json:"name"`
  3394  	Value *string `json:"value"`
  3395  }
  3396  type BrowserTypeLaunchPersistentContextOptionsRecordVideoSize struct {
  3397  	// Video frame width.
  3398  	Width *int `json:"width"`
  3399  	// Video frame height.
  3400  	Height *int `json:"height"`
  3401  }
  3402  type BrowserNewContextOptionsStorageStateOriginsLocalStorage struct {
  3403  	Name  *string `json:"name"`
  3404  	Value *string `json:"value"`
  3405  }
  3406  type BrowserNewPageOptionsStorageStateOriginsLocalStorage struct {
  3407  	Name  *string `json:"name"`
  3408  	Value *string `json:"value"`
  3409  }
  3410  

View as plain text