diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-12 16:33:27 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-12 16:33:27 -0600 |
| commit | 29b59441a4bbada64d8d07bd2609f15dfde670e5 (patch) | |
| tree | 3b3583edb261279cfcdfd9eed904d118c4bf67b1 /vendor/github.com/playwright-community/playwright-go/generated-structs.go | |
| parent | 78ccd9a4312eab7e11da4413733a12953f88a4fe (diff) | |
test: remove UI tests
Diffstat (limited to 'vendor/github.com/playwright-community/playwright-go/generated-structs.go')
| -rw-r--r-- | vendor/github.com/playwright-community/playwright-go/generated-structs.go | 4364 |
1 files changed, 0 insertions, 4364 deletions
diff --git a/vendor/github.com/playwright-community/playwright-go/generated-structs.go b/vendor/github.com/playwright-community/playwright-go/generated-structs.go deleted file mode 100644 index 7a90f5a..0000000 --- a/vendor/github.com/playwright-community/playwright-go/generated-structs.go +++ /dev/null @@ -1,4364 +0,0 @@ -package playwright - -type APIRequestNewContextOptions struct { - // Methods like [APIRequestContext.Get] take the base URL into consideration by using the - // [`URL()`] constructor for building the corresponding URL. - // Examples: - // - baseURL: `http://localhost:3000` and sending request to `/bar.html` results in `http://localhost:3000/bar.html` - // - baseURL: `http://localhost:3000/foo/` and sending request to `./bar.html` results in - // `http://localhost:3000/foo/bar.html` - // - baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to `./bar.html` results in - // `http://localhost:3000/bar.html` - // - // [`URL()`]: https://developer.mozilla.org/en-US/docs/Web/API/URL/URL - BaseURL *string `json:"baseURL"` - // TLS Client Authentication allows the server to request a client certificate and verify it. - // - // # Details - // - // An array of client certificates to be used. Each certificate object must have either both `certPath` and `keyPath`, - // a single `pfxPath`, or their corresponding direct value equivalents (`cert` and `key`, or `pfx`). Optionally, - // `passphrase` property should be provided if the certificate is encrypted. The `origin` property should be provided - // with an exact match to the request origin that the certificate is valid for. - // **NOTE** When using WebKit on macOS, accessing `localhost` will not pick up client certificates. You can make it - // work by replacing `localhost` with `local.playwright`. - ClientCertificates []ClientCertificate `json:"clientCertificates"` - // An object containing additional HTTP headers to be sent with every request. Defaults to none. - ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Credentials for [HTTP authentication]. If no - // origin is specified, the username and password are sent to any servers upon unauthorized responses. - // - // [HTTP authentication]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication - HttpCredentials *HttpCredentials `json:"httpCredentials"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. This can be overwritten for each request - // individually. - MaxRedirects *int `json:"maxRedirects"` - // Network proxy settings. - Proxy *Proxy `json:"proxy"` - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState] or [APIRequestContext.StorageState]. Either a path to the - // file with saved storage, or the value returned by one of [BrowserContext.StorageState] or - // [APIRequestContext.StorageState] methods. - StorageState *StorageState `json:"storageState"` - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState]. Path to the file with saved storage state. - StorageStatePath *string `json:"storageStatePath"` - // Maximum time in milliseconds to wait for the response. Defaults to `30000` (30 seconds). Pass `0` to disable - // timeout. - Timeout *float64 `json:"timeout"` - // Specific user agent to use in this context. - UserAgent *string `json:"userAgent"` -} - -type APIRequestContextDeleteOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextDisposeOptions struct { - // The reason to be reported to the operations interrupted by the context disposal. - Reason *string `json:"reason"` -} - -type APIRequestContextFetchOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // If set changes the fetch method (e.g. [PUT] or - // [POST]. If not specified, GET method is used. - // - // [PUT]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT - // [POST]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) - Method *string `json:"method"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextGetOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextHeadOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextPatchOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextPostOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type APIRequestContextPutOptions struct { - // Allows to set post data of the request. If the data parameter is an object, it will be serialized to json string - // and `content-type` header will be set to `application/json` if not explicitly set. Otherwise the `content-type` - // header will be set to `application/octet-stream` if not explicitly set. - Data interface{} `json:"data"` - // Whether to throw on response codes other than 2xx and 3xx. By default response object is returned for all status - // codes. - FailOnStatusCode *bool `json:"failOnStatusCode"` - // Provides an object that will be serialized as html form using `application/x-www-form-urlencoded` encoding and sent - // as this request body. If this parameter is specified `content-type` header will be set to - // `application/x-www-form-urlencoded` unless explicitly provided. - Form interface{} `json:"form"` - // Allows to set HTTP headers. These headers will apply to the fetched request as well as any redirects initiated by - // it. - Headers map[string]string `json:"headers"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // Provides an object that will be serialized as html form using `multipart/form-data` encoding and sent as this - // request body. If this parameter is specified `content-type` header will be set to `multipart/form-data` unless - // explicitly provided. File values can be passed either as - // [`fs.ReadStream`] or as file-like object containing file - // name, mime-type and its content. - // - // [`fs.ReadStream`]: https://nodejs.org/api/fs.html#fs_class_fs_readstream - Multipart interface{} `json:"multipart"` - // Query parameters to be sent with the URL. - Params map[string]interface{} `json:"params"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type StorageState struct { - Cookies []Cookie `json:"cookies"` - Origins []Origin `json:"origins"` -} - -type NameValue struct { - // Name of the header. - Name string `json:"name"` - // Value of the header. - Value string `json:"value"` -} - -type BrowserCloseOptions struct { - // The reason to be reported to the operations interrupted by the browser closure. - Reason *string `json:"reason"` -} - -type BrowserNewContextOptions struct { - // Whether to automatically download all the attachments. Defaults to `true` where all the downloads are accepted. - AcceptDownloads *bool `json:"acceptDownloads"` - // When using [Page.Goto], [Page.Route], [Page.WaitForURL], [Page.ExpectRequest], or [Page.ExpectResponse] it takes - // the base URL in consideration by using the [`URL()`] - // constructor for building the corresponding URL. Unset by default. Examples: - // - baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html` - // - baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in - // `http://localhost:3000/foo/bar.html` - // - baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to `./bar.html` results in - // `http://localhost:3000/bar.html` - // - // [`URL()`]: https://developer.mozilla.org/en-US/docs/Web/API/URL/URL - BaseURL *string `json:"baseURL"` - // Toggles bypassing page's Content-Security-Policy. Defaults to `false`. - BypassCSP *bool `json:"bypassCSP"` - // TLS Client Authentication allows the server to request a client certificate and verify it. - // - // # Details - // - // An array of client certificates to be used. Each certificate object must have either both `certPath` and `keyPath`, - // a single `pfxPath`, or their corresponding direct value equivalents (`cert` and `key`, or `pfx`). Optionally, - // `passphrase` property should be provided if the certificate is encrypted. The `origin` property should be provided - // with an exact match to the request origin that the certificate is valid for. - // **NOTE** When using WebKit on macOS, accessing `localhost` will not pick up client certificates. You can make it - // work by replacing `localhost` with `local.playwright`. - ClientCertificates []ClientCertificate `json:"clientCertificates"` - // Emulates [prefers-colors-scheme] - // media feature, supported values are `light` and `dark`. See [Page.EmulateMedia] for more details. Passing - // `no-override` resets emulation to system defaults. Defaults to `light`. - // - // [prefers-colors-scheme]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme - ColorScheme *ColorScheme `json:"colorScheme"` - // Specify device scale factor (can be thought of as dpr). Defaults to `1`. Learn more about - // [emulating devices with device scale factor]. - // - // [emulating devices with device scale factor]: https://playwright.dev/docs/emulation#devices - DeviceScaleFactor *float64 `json:"deviceScaleFactor"` - // An object containing additional HTTP headers to be sent with every request. Defaults to none. - ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"` - // Emulates `forced-colors` media feature, supported values are `active`, `none`. See [Page.EmulateMedia] for - // more details. Passing `no-override` resets emulation to system defaults. Defaults to `none`. - ForcedColors *ForcedColors `json:"forcedColors"` - Geolocation *Geolocation `json:"geolocation"` - // Specifies if viewport supports touch events. Defaults to false. Learn more about - // [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#devices - HasTouch *bool `json:"hasTouch"` - // Credentials for [HTTP authentication]. If no - // origin is specified, the username and password are sent to any servers upon unauthorized responses. - // - // [HTTP authentication]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication - HttpCredentials *HttpCredentials `json:"httpCredentials"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Whether the `meta viewport` tag is taken into account and touch events are enabled. isMobile is a part of device, - // so you don't actually need to set it manually. Defaults to `false` and is not supported in Firefox. Learn more - // about [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#ismobile - IsMobile *bool `json:"isMobile"` - // Whether or not to enable JavaScript in the context. Defaults to `true`. Learn more about - // [disabling JavaScript]. - // - // [disabling JavaScript]: https://playwright.dev/docs/emulation#javascript-enabled - JavaScriptEnabled *bool `json:"javaScriptEnabled"` - // Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language` value, - // `Accept-Language` request header value as well as number and date formatting rules. Defaults to the system default - // locale. Learn more about emulation in our [emulation guide]. - // - // [emulation guide]: https://playwright.dev/docs/emulation#locale--timezone - Locale *string `json:"locale"` - // Does not enforce fixed viewport, allows resizing window in the headed mode. - NoViewport *bool `json:"noViewport"` - // Whether to emulate network being offline. Defaults to `false`. Learn more about - // [network emulation]. - // - // [network emulation]: https://playwright.dev/docs/emulation#offline - Offline *bool `json:"offline"` - // A list of permissions to grant to all pages in this context. See [BrowserContext.GrantPermissions] for more - // details. Defaults to none. - Permissions []string `json:"permissions"` - // Network proxy settings to use with this context. Defaults to none. - Proxy *Proxy `json:"proxy"` - // Optional setting to control resource content management. If `omit` is specified, content is not persisted. If - // `attach` is specified, resources are persisted as separate files and all of these files are archived along with the - // HAR file. Defaults to `embed`, which stores content inline the HAR file as per HAR specification. - RecordHarContent *HarContentPolicy `json:"recordHarContent"` - // When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page, - // cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to `full`. - RecordHarMode *HarMode `json:"recordHarMode"` - // Optional setting to control whether to omit request content from the HAR. Defaults to `false`. - RecordHarOmitContent *bool `json:"recordHarOmitContent"` - // Enables [HAR] recording for all pages into the specified HAR file - // on the filesystem. If not specified, the HAR is not recorded. Make sure to call [BrowserContext.Close] for the HAR - // to be saved. - // - // [HAR]: http://www.softwareishard.com/blog/har-12-spec - RecordHarPath *string `json:"recordHarPath"` - RecordHarURLFilter interface{} `json:"recordHarUrlFilter"` - // Enables video recording for all pages into `recordVideo.dir` directory. If not specified videos are not recorded. - // Make sure to await [BrowserContext.Close] for videos to be saved. - RecordVideo *RecordVideo `json:"recordVideo"` - // Emulates `prefers-reduced-motion` media feature, supported values are `reduce`, `no-preference`. See - // [Page.EmulateMedia] for more details. Passing `no-override` resets emulation to system defaults. Defaults to - // `no-preference`. - ReducedMotion *ReducedMotion `json:"reducedMotion"` - // Emulates consistent window screen size available inside web page via `window.screen`. Is only used when the - // “[object Object]” is set. - Screen *Size `json:"screen"` - // Whether to allow sites to register Service workers. Defaults to `allow`. - // - `allow`: [Service Workers] can be - // registered. - // - `block`: Playwright will block all registration of Service Workers. - // - // [Service Workers]: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API - ServiceWorkers *ServiceWorkerPolicy `json:"serviceWorkers"` - // Learn more about [storage state and auth]. - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState]. - // - // [storage state and auth]: https://playwright.dev/docs/auth - StorageState *OptionalStorageState `json:"storageState"` - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState]. Path to the file with saved storage state. - StorageStatePath *string `json:"storageStatePath"` - // If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on - // selectors that imply single target DOM element will throw when more than one element matches the selector. This - // option does not affect any Locator APIs (Locators are always strict). Defaults to `false`. See [Locator] to learn - // more about the strict mode. - StrictSelectors *bool `json:"strictSelectors"` - // Changes the timezone of the context. See - // [ICU's metaZones.txt] - // for a list of supported timezone IDs. Defaults to the system timezone. - // - // [ICU's metaZones.txt]: https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1 - TimezoneId *string `json:"timezoneId"` - // Specific user agent to use in this context. - UserAgent *string `json:"userAgent"` - // Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport` disables the fixed - // viewport. Learn more about [viewport emulation]. - // - // [viewport emulation]: https://playwright.dev/docs/emulation#viewport - Viewport *Size `json:"viewport"` -} - -type BrowserNewPageOptions struct { - // Whether to automatically download all the attachments. Defaults to `true` where all the downloads are accepted. - AcceptDownloads *bool `json:"acceptDownloads"` - // When using [Page.Goto], [Page.Route], [Page.WaitForURL], [Page.ExpectRequest], or [Page.ExpectResponse] it takes - // the base URL in consideration by using the [`URL()`] - // constructor for building the corresponding URL. Unset by default. Examples: - // - baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html` - // - baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in - // `http://localhost:3000/foo/bar.html` - // - baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to `./bar.html` results in - // `http://localhost:3000/bar.html` - // - // [`URL()`]: https://developer.mozilla.org/en-US/docs/Web/API/URL/URL - BaseURL *string `json:"baseURL"` - // Toggles bypassing page's Content-Security-Policy. Defaults to `false`. - BypassCSP *bool `json:"bypassCSP"` - // TLS Client Authentication allows the server to request a client certificate and verify it. - // - // # Details - // - // An array of client certificates to be used. Each certificate object must have either both `certPath` and `keyPath`, - // a single `pfxPath`, or their corresponding direct value equivalents (`cert` and `key`, or `pfx`). Optionally, - // `passphrase` property should be provided if the certificate is encrypted. The `origin` property should be provided - // with an exact match to the request origin that the certificate is valid for. - // **NOTE** When using WebKit on macOS, accessing `localhost` will not pick up client certificates. You can make it - // work by replacing `localhost` with `local.playwright`. - ClientCertificates []ClientCertificate `json:"clientCertificates"` - // Emulates [prefers-colors-scheme] - // media feature, supported values are `light` and `dark`. See [Page.EmulateMedia] for more details. Passing - // `no-override` resets emulation to system defaults. Defaults to `light`. - // - // [prefers-colors-scheme]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme - ColorScheme *ColorScheme `json:"colorScheme"` - // Specify device scale factor (can be thought of as dpr). Defaults to `1`. Learn more about - // [emulating devices with device scale factor]. - // - // [emulating devices with device scale factor]: https://playwright.dev/docs/emulation#devices - DeviceScaleFactor *float64 `json:"deviceScaleFactor"` - // An object containing additional HTTP headers to be sent with every request. Defaults to none. - ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"` - // Emulates `forced-colors` media feature, supported values are `active`, `none`. See [Page.EmulateMedia] for - // more details. Passing `no-override` resets emulation to system defaults. Defaults to `none`. - ForcedColors *ForcedColors `json:"forcedColors"` - Geolocation *Geolocation `json:"geolocation"` - // Specifies if viewport supports touch events. Defaults to false. Learn more about - // [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#devices - HasTouch *bool `json:"hasTouch"` - // Credentials for [HTTP authentication]. If no - // origin is specified, the username and password are sent to any servers upon unauthorized responses. - // - // [HTTP authentication]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication - HttpCredentials *HttpCredentials `json:"httpCredentials"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Whether the `meta viewport` tag is taken into account and touch events are enabled. isMobile is a part of device, - // so you don't actually need to set it manually. Defaults to `false` and is not supported in Firefox. Learn more - // about [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#ismobile - IsMobile *bool `json:"isMobile"` - // Whether or not to enable JavaScript in the context. Defaults to `true`. Learn more about - // [disabling JavaScript]. - // - // [disabling JavaScript]: https://playwright.dev/docs/emulation#javascript-enabled - JavaScriptEnabled *bool `json:"javaScriptEnabled"` - // Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language` value, - // `Accept-Language` request header value as well as number and date formatting rules. Defaults to the system default - // locale. Learn more about emulation in our [emulation guide]. - // - // [emulation guide]: https://playwright.dev/docs/emulation#locale--timezone - Locale *string `json:"locale"` - // Does not enforce fixed viewport, allows resizing window in the headed mode. - NoViewport *bool `json:"noViewport"` - // Whether to emulate network being offline. Defaults to `false`. Learn more about - // [network emulation]. - // - // [network emulation]: https://playwright.dev/docs/emulation#offline - Offline *bool `json:"offline"` - // A list of permissions to grant to all pages in this context. See [BrowserContext.GrantPermissions] for more - // details. Defaults to none. - Permissions []string `json:"permissions"` - // Network proxy settings to use with this context. Defaults to none. - Proxy *Proxy `json:"proxy"` - // Optional setting to control resource content management. If `omit` is specified, content is not persisted. If - // `attach` is specified, resources are persisted as separate files and all of these files are archived along with the - // HAR file. Defaults to `embed`, which stores content inline the HAR file as per HAR specification. - RecordHarContent *HarContentPolicy `json:"recordHarContent"` - // When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page, - // cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to `full`. - RecordHarMode *HarMode `json:"recordHarMode"` - // Optional setting to control whether to omit request content from the HAR. Defaults to `false`. - RecordHarOmitContent *bool `json:"recordHarOmitContent"` - // Enables [HAR] recording for all pages into the specified HAR file - // on the filesystem. If not specified, the HAR is not recorded. Make sure to call [BrowserContext.Close] for the HAR - // to be saved. - // - // [HAR]: http://www.softwareishard.com/blog/har-12-spec - RecordHarPath *string `json:"recordHarPath"` - RecordHarURLFilter interface{} `json:"recordHarUrlFilter"` - // Enables video recording for all pages into `recordVideo.dir` directory. If not specified videos are not recorded. - // Make sure to await [BrowserContext.Close] for videos to be saved. - RecordVideo *RecordVideo `json:"recordVideo"` - // Emulates `prefers-reduced-motion` media feature, supported values are `reduce`, `no-preference`. See - // [Page.EmulateMedia] for more details. Passing `no-override` resets emulation to system defaults. Defaults to - // `no-preference`. - ReducedMotion *ReducedMotion `json:"reducedMotion"` - // Emulates consistent window screen size available inside web page via `window.screen`. Is only used when the - // “[object Object]” is set. - Screen *Size `json:"screen"` - // Whether to allow sites to register Service workers. Defaults to `allow`. - // - `allow`: [Service Workers] can be - // registered. - // - `block`: Playwright will block all registration of Service Workers. - // - // [Service Workers]: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API - ServiceWorkers *ServiceWorkerPolicy `json:"serviceWorkers"` - // Learn more about [storage state and auth]. - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState]. - // - // [storage state and auth]: https://playwright.dev/docs/auth - StorageState *OptionalStorageState `json:"storageState"` - // Populates context with given storage state. This option can be used to initialize context with logged-in - // information obtained via [BrowserContext.StorageState]. Path to the file with saved storage state. - StorageStatePath *string `json:"storageStatePath"` - // If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on - // selectors that imply single target DOM element will throw when more than one element matches the selector. This - // option does not affect any Locator APIs (Locators are always strict). Defaults to `false`. See [Locator] to learn - // more about the strict mode. - StrictSelectors *bool `json:"strictSelectors"` - // Changes the timezone of the context. See - // [ICU's metaZones.txt] - // for a list of supported timezone IDs. Defaults to the system timezone. - // - // [ICU's metaZones.txt]: https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1 - TimezoneId *string `json:"timezoneId"` - // Specific user agent to use in this context. - UserAgent *string `json:"userAgent"` - // Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport` disables the fixed - // viewport. Learn more about [viewport emulation]. - // - // [viewport emulation]: https://playwright.dev/docs/emulation#viewport - Viewport *Size `json:"viewport"` -} - -type BrowserStartTracingOptions struct { - // specify custom categories to use instead of default. - Categories []string `json:"categories"` - // Optional, if specified, tracing includes screenshots of the given page. - Page Page `json:"page"` - // A path to write the trace file to. - Path *string `json:"path"` - // captures screenshots in the trace. - Screenshots *bool `json:"screenshots"` -} - -type OptionalCookie struct { - Name string `json:"name"` - Value string `json:"value"` - // Either url or domain / path are required. Optional. - URL *string `json:"url"` - // For the cookie to apply to all subdomains as well, prefix domain with a dot, like this: ".example.com". Either url - // or domain / path are required. Optional. - Domain *string `json:"domain"` - // Either url or domain / path are required Optional. - Path *string `json:"path"` - // Unix time in seconds. Optional. - Expires *float64 `json:"expires"` - // Optional. - HttpOnly *bool `json:"httpOnly"` - // Optional. - Secure *bool `json:"secure"` - // Optional. - SameSite *SameSiteAttribute `json:"sameSite"` -} - -type Script struct { - // Path to the JavaScript file. If `path` is a relative path, then it is resolved relative to the current working - // directory. Optional. - Path *string `json:"path"` - // Raw script content. Optional. - Content *string `json:"content"` -} - -type BrowserContextClearCookiesOptions struct { - // Only removes cookies with the given domain. - Domain interface{} `json:"domain"` - // Only removes cookies with the given name. - Name interface{} `json:"name"` - // Only removes cookies with the given path. - Path interface{} `json:"path"` -} - -type BrowserContextCloseOptions struct { - // The reason to be reported to the operations interrupted by the context closure. - Reason *string `json:"reason"` -} - -type Cookie struct { - Name string `json:"name"` - Value string `json:"value"` - Domain string `json:"domain"` - Path string `json:"path"` - // Unix time in seconds. - Expires float64 `json:"expires"` - HttpOnly bool `json:"httpOnly"` - Secure bool `json:"secure"` - SameSite *SameSiteAttribute `json:"sameSite"` -} - -type BrowserContextGrantPermissionsOptions struct { - // The [origin] to grant permissions to, e.g. "https://example.com". - Origin *string `json:"origin"` -} - -type BrowserContextRouteFromHAROptions struct { - // - If set to 'abort' any request not found in the HAR file will be aborted. - // - If set to 'fallback' falls through to the next route handler in the handler chain. - // Defaults to abort. - NotFound *HarNotFound `json:"notFound"` - // If specified, updates the given HAR with the actual network information instead of serving from file. The file is - // written to disk when [BrowserContext.Close] is called. - Update *bool `json:"update"` - // Optional setting to control resource content management. If `attach` is specified, resources are persisted as - // separate files or entries in the ZIP archive. If `embed` is specified, content is stored inline the HAR file. - UpdateContent *RouteFromHarUpdateContentPolicy `json:"updateContent"` - // When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page, - // cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to - // `minimal`. - UpdateMode *HarMode `json:"updateMode"` - // A glob pattern, regular expression or predicate to match the request URL. Only requests with URL matching the - // pattern will be served from the HAR file. If not specified, all requests are served from the HAR file. - URL interface{} `json:"url"` -} - -type Geolocation struct { - // Latitude between -90 and 90. - Latitude float64 `json:"latitude"` - // Longitude between -180 and 180. - Longitude float64 `json:"longitude"` - // Non-negative accuracy value. Defaults to `0`. - Accuracy *float64 `json:"accuracy"` -} - -type BrowserContextUnrouteAllOptions struct { - // Specifies whether to wait for already running handlers and what to do if they throw errors: - // - `default` - do not wait for current handler calls (if any) to finish, if unrouted handler throws, it may - // result in unhandled error - // - `wait` - wait for current handler calls (if any) to finish - // - `ignoreErrors` - do not wait for current handler calls (if any) to finish, all errors thrown by the handlers - // after unrouting are silently caught - Behavior *UnrouteBehavior `json:"behavior"` -} - -type BrowserContextExpectConsoleMessageOptions struct { - // Receives the [ConsoleMessage] object and resolves to truthy value when the waiting should resolve. - Predicate func(ConsoleMessage) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type BrowserContextExpectEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type BrowserContextExpectPageOptions struct { - // Receives the [Page] object and resolves to truthy value when the waiting should resolve. - Predicate func(Page) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type BrowserContextWaitForEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type BrowserTypeConnectOptions struct { - // This option exposes network available on the connecting client to the browser being connected to. Consists of a - // list of rules separated by comma. - // Available rules: - // 1. Hostname pattern, for example: `example.com`, `*.org:99`, `x.*.y.com`, `*foo.org`. - // 2. IP literal, for example: `127.0.0.1`, `0.0.0.0:99`, `[::1]`, `[0:0::1]:99`. - // 3. `<loopback>` that matches local loopback interfaces: `localhost`, `*.localhost`, `127.0.0.1`, `[::1]`. - // Some common examples: - // 4. `"*"` to expose all network. - // 5. `"<loopback>"` to expose localhost network. - // 6. `"*.test.internal-domain,*.staging.internal-domain,<loopback>"` to expose test/staging deployments and - // localhost. - ExposeNetwork *string `json:"exposeNetwork"` - // Additional HTTP headers to be sent with web socket connect request. Optional. - Headers map[string]string `json:"headers"` - // Slows down Playwright operations by the specified amount of milliseconds. Useful so that you can see what is going - // on. Defaults to 0. - SlowMo *float64 `json:"slowMo"` - // Maximum time in milliseconds to wait for the connection to be established. Defaults to `0` (no timeout). - Timeout *float64 `json:"timeout"` -} - -type BrowserTypeConnectOverCDPOptions struct { - // Additional HTTP headers to be sent with connect request. Optional. - Headers map[string]string `json:"headers"` - // Slows down Playwright operations by the specified amount of milliseconds. Useful so that you can see what is going - // on. Defaults to 0. - SlowMo *float64 `json:"slowMo"` - // Maximum time in milliseconds to wait for the connection to be established. Defaults to `30000` (30 seconds). Pass - // `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type BrowserTypeLaunchOptions struct { - // **NOTE** Use custom browser args at your own risk, as some of them may break Playwright functionality. - // Additional arguments to pass to the browser instance. The list of Chromium flags can be found - // [here]. - // - // [here]: https://peter.sh/experiments/chromium-command-line-switches/ - Args []string `json:"args"` - // Browser distribution channel. - // Use "chromium" to [opt in to new headless mode]. - // Use "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev", or - // "msedge-canary" to use branded [Google Chrome and Microsoft Edge]. - // - // [opt in to new headless mode]: https://playwright.dev/docs/browsers#chromium-new-headless-mode - // [Google Chrome and Microsoft Edge]: https://playwright.dev/docs/browsers#google-chrome--microsoft-edge - Channel *string `json:"channel"` - // Enable Chromium sandboxing. Defaults to `false`. - ChromiumSandbox *bool `json:"chromiumSandbox"` - // **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the - // “[object Object]” option will be set `false`. - // - // Deprecated: Use [debugging tools] instead. - // - // [debugging tools]: https://playwright.dev/docs/debug - Devtools *bool `json:"devtools"` - // If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and - // is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were - // created in is closed. - DownloadsPath *string `json:"downloadsPath"` - // Specify environment variables that will be visible to the browser. Defaults to `process.env`. - Env map[string]string `json:"env"` - // Path to a browser executable to run instead of the bundled one. If “[object Object]” is a relative path, then it is - // resolved relative to the current working directory. Note that Playwright only works with the bundled Chromium, - // Firefox or WebKit, use at your own risk. - ExecutablePath *string `json:"executablePath"` - // Firefox user preferences. Learn more about the Firefox user preferences at - // [`about:config`]. - // - // [`about:config`]: https://support.mozilla.org/en-US/kb/about-config-editor-firefox - FirefoxUserPrefs map[string]interface{} `json:"firefoxUserPrefs"` - // Close the browser process on SIGHUP. Defaults to `true`. - HandleSIGHUP *bool `json:"handleSIGHUP"` - // Close the browser process on Ctrl-C. Defaults to `true`. - HandleSIGINT *bool `json:"handleSIGINT"` - // Close the browser process on SIGTERM. Defaults to `true`. - HandleSIGTERM *bool `json:"handleSIGTERM"` - // Whether to run browser in headless mode. More details for - // [Chromium] and - // [Firefox]. Defaults to `true` unless the - // “[object Object]” option is `true`. - // - // [Chromium]: https://developers.google.com/web/updates/2017/04/headless-chrome - // [Firefox]: https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/ - Headless *bool `json:"headless"` - // If `true`, Playwright does not pass its own configurations args and only uses the ones from “[object Object]”. - // Dangerous option; use with care. Defaults to `false`. - IgnoreAllDefaultArgs *bool `json:"ignoreAllDefaultArgs"` - // If `true`, Playwright does not pass its own configurations args and only uses the ones from “[object Object]”. - // Dangerous option; use with care. - IgnoreDefaultArgs []string `json:"ignoreDefaultArgs"` - // Network proxy settings. - Proxy *Proxy `json:"proxy"` - // Slows down Playwright operations by the specified amount of milliseconds. Useful so that you can see what is going - // on. - SlowMo *float64 `json:"slowMo"` - // Maximum time in milliseconds to wait for the browser instance to start. Defaults to `30000` (30 seconds). Pass `0` - // to disable timeout. - Timeout *float64 `json:"timeout"` - // If specified, traces are saved into this directory. - TracesDir *string `json:"tracesDir"` -} - -type BrowserTypeLaunchPersistentContextOptions struct { - // Whether to automatically download all the attachments. Defaults to `true` where all the downloads are accepted. - AcceptDownloads *bool `json:"acceptDownloads"` - // **NOTE** Use custom browser args at your own risk, as some of them may break Playwright functionality. - // Additional arguments to pass to the browser instance. The list of Chromium flags can be found - // [here]. - // - // [here]: https://peter.sh/experiments/chromium-command-line-switches/ - Args []string `json:"args"` - // When using [Page.Goto], [Page.Route], [Page.WaitForURL], [Page.ExpectRequest], or [Page.ExpectResponse] it takes - // the base URL in consideration by using the [`URL()`] - // constructor for building the corresponding URL. Unset by default. Examples: - // - baseURL: `http://localhost:3000` and navigating to `/bar.html` results in `http://localhost:3000/bar.html` - // - baseURL: `http://localhost:3000/foo/` and navigating to `./bar.html` results in - // `http://localhost:3000/foo/bar.html` - // - baseURL: `http://localhost:3000/foo` (without trailing slash) and navigating to `./bar.html` results in - // `http://localhost:3000/bar.html` - // - // [`URL()`]: https://developer.mozilla.org/en-US/docs/Web/API/URL/URL - BaseURL *string `json:"baseURL"` - // Toggles bypassing page's Content-Security-Policy. Defaults to `false`. - BypassCSP *bool `json:"bypassCSP"` - // Browser distribution channel. - // Use "chromium" to [opt in to new headless mode]. - // Use "chrome", "chrome-beta", "chrome-dev", "chrome-canary", "msedge", "msedge-beta", "msedge-dev", or - // "msedge-canary" to use branded [Google Chrome and Microsoft Edge]. - // - // [opt in to new headless mode]: https://playwright.dev/docs/browsers#chromium-new-headless-mode - // [Google Chrome and Microsoft Edge]: https://playwright.dev/docs/browsers#google-chrome--microsoft-edge - Channel *string `json:"channel"` - // Enable Chromium sandboxing. Defaults to `false`. - ChromiumSandbox *bool `json:"chromiumSandbox"` - // TLS Client Authentication allows the server to request a client certificate and verify it. - // - // # Details - // - // An array of client certificates to be used. Each certificate object must have either both `certPath` and `keyPath`, - // a single `pfxPath`, or their corresponding direct value equivalents (`cert` and `key`, or `pfx`). Optionally, - // `passphrase` property should be provided if the certificate is encrypted. The `origin` property should be provided - // with an exact match to the request origin that the certificate is valid for. - // **NOTE** When using WebKit on macOS, accessing `localhost` will not pick up client certificates. You can make it - // work by replacing `localhost` with `local.playwright`. - ClientCertificates []ClientCertificate `json:"clientCertificates"` - // Emulates [prefers-colors-scheme] - // media feature, supported values are `light` and `dark`. See [Page.EmulateMedia] for more details. Passing - // `no-override` resets emulation to system defaults. Defaults to `light`. - // - // [prefers-colors-scheme]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme - ColorScheme *ColorScheme `json:"colorScheme"` - // Specify device scale factor (can be thought of as dpr). Defaults to `1`. Learn more about - // [emulating devices with device scale factor]. - // - // [emulating devices with device scale factor]: https://playwright.dev/docs/emulation#devices - DeviceScaleFactor *float64 `json:"deviceScaleFactor"` - // **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the - // “[object Object]” option will be set `false`. - // - // Deprecated: Use [debugging tools] instead. - // - // [debugging tools]: https://playwright.dev/docs/debug - Devtools *bool `json:"devtools"` - // If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and - // is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were - // created in is closed. - DownloadsPath *string `json:"downloadsPath"` - // Specify environment variables that will be visible to the browser. Defaults to `process.env`. - Env map[string]string `json:"env"` - // Path to a browser executable to run instead of the bundled one. If “[object Object]” is a relative path, then it is - // resolved relative to the current working directory. Note that Playwright only works with the bundled Chromium, - // Firefox or WebKit, use at your own risk. - ExecutablePath *string `json:"executablePath"` - // An object containing additional HTTP headers to be sent with every request. Defaults to none. - ExtraHttpHeaders map[string]string `json:"extraHTTPHeaders"` - // Firefox user preferences. Learn more about the Firefox user preferences at - // [`about:config`]. - // - // [`about:config`]: https://support.mozilla.org/en-US/kb/about-config-editor-firefox - FirefoxUserPrefs map[string]interface{} `json:"firefoxUserPrefs"` - // Emulates `forced-colors` media feature, supported values are `active`, `none`. See [Page.EmulateMedia] for - // more details. Passing `no-override` resets emulation to system defaults. Defaults to `none`. - ForcedColors *ForcedColors `json:"forcedColors"` - Geolocation *Geolocation `json:"geolocation"` - // Close the browser process on SIGHUP. Defaults to `true`. - HandleSIGHUP *bool `json:"handleSIGHUP"` - // Close the browser process on Ctrl-C. Defaults to `true`. - HandleSIGINT *bool `json:"handleSIGINT"` - // Close the browser process on SIGTERM. Defaults to `true`. - HandleSIGTERM *bool `json:"handleSIGTERM"` - // Specifies if viewport supports touch events. Defaults to false. Learn more about - // [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#devices - HasTouch *bool `json:"hasTouch"` - // Whether to run browser in headless mode. More details for - // [Chromium] and - // [Firefox]. Defaults to `true` unless the - // “[object Object]” option is `true`. - // - // [Chromium]: https://developers.google.com/web/updates/2017/04/headless-chrome - // [Firefox]: https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/ - Headless *bool `json:"headless"` - // Credentials for [HTTP authentication]. If no - // origin is specified, the username and password are sent to any servers upon unauthorized responses. - // - // [HTTP authentication]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication - HttpCredentials *HttpCredentials `json:"httpCredentials"` - // If `true`, Playwright does not pass its own configurations args and only uses the ones from “[object Object]”. - // Dangerous option; use with care. Defaults to `false`. - IgnoreAllDefaultArgs *bool `json:"ignoreAllDefaultArgs"` - // If `true`, Playwright does not pass its own configurations args and only uses the ones from “[object Object]”. - // Dangerous option; use with care. - IgnoreDefaultArgs []string `json:"ignoreDefaultArgs"` - // Whether to ignore HTTPS errors when sending network requests. Defaults to `false`. - IgnoreHttpsErrors *bool `json:"ignoreHTTPSErrors"` - // Whether the `meta viewport` tag is taken into account and touch events are enabled. isMobile is a part of device, - // so you don't actually need to set it manually. Defaults to `false` and is not supported in Firefox. Learn more - // about [mobile emulation]. - // - // [mobile emulation]: https://playwright.dev/docs/emulation#ismobile - IsMobile *bool `json:"isMobile"` - // Whether or not to enable JavaScript in the context. Defaults to `true`. Learn more about - // [disabling JavaScript]. - // - // [disabling JavaScript]: https://playwright.dev/docs/emulation#javascript-enabled - JavaScriptEnabled *bool `json:"javaScriptEnabled"` - // Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language` value, - // `Accept-Language` request header value as well as number and date formatting rules. Defaults to the system default - // locale. Learn more about emulation in our [emulation guide]. - // - // [emulation guide]: https://playwright.dev/docs/emulation#locale--timezone - Locale *string `json:"locale"` - // Does not enforce fixed viewport, allows resizing window in the headed mode. - NoViewport *bool `json:"noViewport"` - // Whether to emulate network being offline. Defaults to `false`. Learn more about - // [network emulation]. - // - // [network emulation]: https://playwright.dev/docs/emulation#offline - Offline *bool `json:"offline"` - // A list of permissions to grant to all pages in this context. See [BrowserContext.GrantPermissions] for more - // details. Defaults to none. - Permissions []string `json:"permissions"` - // Network proxy settings. - Proxy *Proxy `json:"proxy"` - // Optional setting to control resource content management. If `omit` is specified, content is not persisted. If - // `attach` is specified, resources are persisted as separate files and all of these files are archived along with the - // HAR file. Defaults to `embed`, which stores content inline the HAR file as per HAR specification. - RecordHarContent *HarContentPolicy `json:"recordHarContent"` - // When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page, - // cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to `full`. - RecordHarMode *HarMode `json:"recordHarMode"` - // Optional setting to control whether to omit request content from the HAR. Defaults to `false`. - RecordHarOmitContent *bool `json:"recordHarOmitContent"` - // Enables [HAR] recording for all pages into the specified HAR file - // on the filesystem. If not specified, the HAR is not recorded. Make sure to call [BrowserContext.Close] for the HAR - // to be saved. - // - // [HAR]: http://www.softwareishard.com/blog/har-12-spec - RecordHarPath *string `json:"recordHarPath"` - RecordHarURLFilter interface{} `json:"recordHarUrlFilter"` - // Enables video recording for all pages into `recordVideo.dir` directory. If not specified videos are not recorded. - // Make sure to await [BrowserContext.Close] for videos to be saved. - RecordVideo *RecordVideo `json:"recordVideo"` - // Emulates `prefers-reduced-motion` media feature, supported values are `reduce`, `no-preference`. See - // [Page.EmulateMedia] for more details. Passing `no-override` resets emulation to system defaults. Defaults to - // `no-preference`. - ReducedMotion *ReducedMotion `json:"reducedMotion"` - // Emulates consistent window screen size available inside web page via `window.screen`. Is only used when the - // “[object Object]” is set. - Screen *Size `json:"screen"` - // Whether to allow sites to register Service workers. Defaults to `allow`. - // - `allow`: [Service Workers] can be - // registered. - // - `block`: Playwright will block all registration of Service Workers. - // - // [Service Workers]: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API - ServiceWorkers *ServiceWorkerPolicy `json:"serviceWorkers"` - // Slows down Playwright operations by the specified amount of milliseconds. Useful so that you can see what is going - // on. - SlowMo *float64 `json:"slowMo"` - // If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on - // selectors that imply single target DOM element will throw when more than one element matches the selector. This - // option does not affect any Locator APIs (Locators are always strict). Defaults to `false`. See [Locator] to learn - // more about the strict mode. - StrictSelectors *bool `json:"strictSelectors"` - // Maximum time in milliseconds to wait for the browser instance to start. Defaults to `30000` (30 seconds). Pass `0` - // to disable timeout. - Timeout *float64 `json:"timeout"` - // Changes the timezone of the context. See - // [ICU's metaZones.txt] - // for a list of supported timezone IDs. Defaults to the system timezone. - // - // [ICU's metaZones.txt]: https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1 - TimezoneId *string `json:"timezoneId"` - // If specified, traces are saved into this directory. - TracesDir *string `json:"tracesDir"` - // Specific user agent to use in this context. - UserAgent *string `json:"userAgent"` - // Sets a consistent viewport for each page. Defaults to an 1280x720 viewport. `no_viewport` disables the fixed - // viewport. Learn more about [viewport emulation]. - // - // [viewport emulation]: https://playwright.dev/docs/emulation#viewport - Viewport *Size `json:"viewport"` -} - -type ClockInstallOptions struct { - // Time to initialize with, current system time by default. - Time interface{} `json:"time"` -} - -type ConsoleMessageLocation struct { - // URL of the resource. - URL string `json:"url"` - // 0-based line number in the resource. - LineNumber int `json:"lineNumber"` - // 0-based column number in the resource. - ColumnNumber int `json:"columnNumber"` -} - -type Rect struct { - // the x coordinate of the element in pixels. - X float64 `json:"x"` - // the y coordinate of the element in pixels. - Y float64 `json:"y"` - // the width of the element in pixels. - Width float64 `json:"width"` - // the height of the element in pixels. - Height float64 `json:"height"` -} - -type ElementHandleCheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleClickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleDblclickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleFillOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleHoverOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleInputValueOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandlePressOptions struct { - // Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleScreenshotOptions struct { - // When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations. Animations get different - // treatment depending on their duration: - // - finite animations are fast-forwarded to completion, so they'll fire `transitionend` event. - // - infinite animations are canceled to initial state, and then played over after the screenshot. - // Defaults to `"allow"` that leaves animations untouched. - Animations *ScreenshotAnimations `json:"animations"` - // When set to `"hide"`, screenshot will hide text caret. When set to `"initial"`, text caret behavior will not be - // changed. Defaults to `"hide"`. - Caret *ScreenshotCaret `json:"caret"` - // Specify locators that should be masked when the screenshot is taken. Masked elements will be overlaid with a pink - // box `#FF00FF` (customized by “[object Object]”) that completely covers its bounding box. The mask is also applied - // to invisible elements, see [Matching only visible elements] to - // disable that. - // - // [Matching only visible elements]: https://playwright.dev/docs/locators#matching-only-visible-elements - Mask []Locator `json:"mask"` - // Specify the color of the overlay box for masked elements, in - // [CSS color format]. Default color is pink `#FF00FF`. - // - // [CSS color format]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value - MaskColor *string `json:"maskColor"` - // Hides default white background and allows capturing screenshots with transparency. Not applicable to `jpeg` images. - // Defaults to `false`. - OmitBackground *bool `json:"omitBackground"` - // The file path to save the image to. The screenshot type will be inferred from file extension. If “[object Object]” - // is a relative path, then it is resolved relative to the current working directory. If no path is provided, the - // image won't be saved to the disk. - Path *string `json:"path"` - // The quality of the image, between 0-100. Not applicable to `png` images. - Quality *int `json:"quality"` - // When set to `"css"`, screenshot will have a single pixel per each css pixel on the page. For high-dpi devices, this - // will keep screenshots small. Using `"device"` option will produce a single pixel per each device pixel, so - // screenshots of high-dpi devices will be twice as large or even larger. - // Defaults to `"device"`. - Scale *ScreenshotScale `json:"scale"` - // Text of the stylesheet to apply while making the screenshot. This is where you can hide dynamic elements, make - // elements invisible or change their properties to help you creating repeatable screenshots. This stylesheet pierces - // the Shadow DOM and applies to the inner frames. - Style *string `json:"style"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // Specify screenshot type, defaults to `png`. - Type *ScreenshotType `json:"type"` -} - -type ElementHandleScrollIntoViewIfNeededOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleSelectOptionOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleSelectTextOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleSetCheckedOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleSetInputFilesOptions struct { - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleTapOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleTypeOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleUncheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type ElementHandleWaitForElementStateOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type ElementHandleWaitForSelectorOptions struct { - // Defaults to `visible`. Can be either: - // - `attached` - wait for element to be present in DOM. - // - `detached` - wait for element to not be present in DOM. - // - `visible` - wait for element to have non-empty bounding box and no `visibility:hidden`. Note that element - // without any content or with `display:none` has an empty bounding box and is not considered visible. - // - `hidden` - wait for element to be either detached from DOM, or have an empty bounding box or - // `visibility:hidden`. This is opposite to the `visible` option. - State *WaitForSelectorState `json:"state"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FileChooserSetFilesOptions struct { - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameAddScriptTagOptions struct { - // Raw JavaScript content to be injected into frame. - Content *string `json:"content"` - // Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative - // to the current working directory. - Path *string `json:"path"` - // Script type. Use 'module' in order to load a JavaScript ES6 module. See - // [script] for more details. - // - // [script]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script - Type *string `json:"type"` - // URL of a script to be added. - URL *string `json:"url"` -} - -type FrameAddStyleTagOptions struct { - // Raw CSS content to be injected into frame. - Content *string `json:"content"` - // Path to the CSS file to be injected into frame. If `path` is a relative path, then it is resolved relative to the - // current working directory. - Path *string `json:"path"` - // URL of the `<link>` tag. - URL *string `json:"url"` -} - -type FrameCheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameClickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameDblclickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameDispatchEventOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameDragAndDropOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Clicks on the source element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - SourcePosition *Position `json:"sourcePosition"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Drops on the target element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - TargetPosition *Position `json:"targetPosition"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameEvalOnSelectorOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` -} - -type FrameFillOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameFocusOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameGetAttributeOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameGetByAltTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameGetByLabelOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameGetByPlaceholderOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameGetByRoleOptions struct { - // An attribute that is usually set by `aria-checked` or native `<input type=checkbox>` controls. - // Learn more about [`aria-checked`]. - // - // [`aria-checked`]: https://www.w3.org/TR/wai-aria-1.2/#aria-checked - Checked *bool `json:"checked"` - // An attribute that is usually set by `aria-disabled` or `disabled`. - // **NOTE** Unlike most other attributes, `disabled` is inherited through the DOM hierarchy. Learn more about - // [`aria-disabled`]. - // - // [`aria-disabled`]: https://www.w3.org/TR/wai-aria-1.2/#aria-disabled - Disabled *bool `json:"disabled"` - // Whether “[object Object]” is matched exactly: case-sensitive and whole-string. Defaults to false. Ignored when - // “[object Object]” is a regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` - // An attribute that is usually set by `aria-expanded`. - // Learn more about [`aria-expanded`]. - // - // [`aria-expanded`]: https://www.w3.org/TR/wai-aria-1.2/#aria-expanded - Expanded *bool `json:"expanded"` - // Option that controls whether hidden elements are matched. By default, only non-hidden elements, as - // [defined by ARIA], are matched by role selector. - // Learn more about [`aria-hidden`]. - // - // [defined by ARIA]: https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion - // [`aria-hidden`]: https://www.w3.org/TR/wai-aria-1.2/#aria-hidden - IncludeHidden *bool `json:"includeHidden"` - // A number attribute that is usually present for roles `heading`, `listitem`, `row`, `treeitem`, with default values - // for `<h1>-<h6>` elements. - // Learn more about [`aria-level`]. - // - // [`aria-level`]: https://www.w3.org/TR/wai-aria-1.2/#aria-level - Level *int `json:"level"` - // Option to match the [accessible name]. By default, matching is - // case-insensitive and searches for a substring, use “[object Object]” to control this behavior. - // Learn more about [accessible name]. - // - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - Name interface{} `json:"name"` - // An attribute that is usually set by `aria-pressed`. - // Learn more about [`aria-pressed`]. - // - // [`aria-pressed`]: https://www.w3.org/TR/wai-aria-1.2/#aria-pressed - Pressed *bool `json:"pressed"` - // An attribute that is usually set by `aria-selected`. - // Learn more about [`aria-selected`]. - // - // [`aria-selected`]: https://www.w3.org/TR/wai-aria-1.2/#aria-selected - Selected *bool `json:"selected"` -} - -type FrameGetByTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameGetByTitleOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameGotoOptions struct { - // Referer header value. If provided it will take preference over the referer header value set by - // [Page.SetExtraHTTPHeaders]. - Referer *string `json:"referer"` - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type FrameHoverOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameInnerHTMLOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameInnerTextOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameInputValueOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameIsCheckedOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameIsDisabledOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameIsEditableOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameIsEnabledOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameIsHiddenOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // - // Deprecated: This option is ignored. [Frame.IsHidden] does not wait for the element to become hidden and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type FrameIsVisibleOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // - // Deprecated: This option is ignored. [Frame.IsVisible] does not wait for the element to become visible and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type FrameLocatorOptions struct { - // Narrows down the results of the method to those which contain elements matching this relative locator. For example, - // `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`. - // Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not - // the document root. For example, you can find `content` that has `div` in - // `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article - // div` will fail, because the inner locator must be relative and should not use any elements outside the `content`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - Has Locator `json:"has"` - // Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the - // outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - HasNot Locator `json:"hasNot"` - // Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element. - // When passed a [string], matching is case-insensitive and searches for a substring. - HasNotText interface{} `json:"hasNotText"` - // Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When - // passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches - // `<article><div>Playwright</div></article>`. - HasText interface{} `json:"hasText"` -} - -type FramePressOptions struct { - // Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameQuerySelectorOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` -} - -type FrameSelectOptionOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameSetCheckedOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameSetContentOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type FrameSetInputFilesOptions struct { - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameTapOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameTextContentOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameTypeOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameUncheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type FrameWaitForFunctionOptions struct { - // If “[object Object]” is `raf`, then “[object Object]” is constantly executed in `requestAnimationFrame` callback. - // If “[object Object]” is a number, then it is treated as an interval in milliseconds at which the function would be - // executed. Defaults to `raf`. - Polling interface{} `json:"polling"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameWaitForLoadStateOptions struct { - // Optional load state to wait for, defaults to `load`. If the state has been already reached while loading current - // document, the method resolves immediately. Can be one of: - // - `load` - wait for the `load` event to be fired. - // - `domcontentloaded` - wait for the `DOMContentLoaded` event to be fired. - // - `networkidle` - **DISCOURAGED** wait until there are no network connections for at least `500` ms. Don't use - // this method for testing, rely on web assertions to assess readiness instead. - State *LoadState `json:"state"` - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameExpectNavigationOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // A glob pattern, regex pattern or predicate receiving [URL] to match while waiting for the navigation. Note that if - // the parameter is a string without wildcard characters, the method will wait for navigation to URL that is exactly - // equal to the string. - URL interface{} `json:"url"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type FrameWaitForSelectorOptions struct { - // Defaults to `visible`. Can be either: - // - `attached` - wait for element to be present in DOM. - // - `detached` - wait for element to not be present in DOM. - // - `visible` - wait for element to have non-empty bounding box and no `visibility:hidden`. Note that element - // without any content or with `display:none` has an empty bounding box and is not considered visible. - // - `hidden` - wait for element to be either detached from DOM, or have an empty bounding box or - // `visibility:hidden`. This is opposite to the `visible` option. - State *WaitForSelectorState `json:"state"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type FrameWaitForURLOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type FrameLocatorGetByAltTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameLocatorGetByLabelOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameLocatorGetByPlaceholderOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameLocatorGetByRoleOptions struct { - // An attribute that is usually set by `aria-checked` or native `<input type=checkbox>` controls. - // Learn more about [`aria-checked`]. - // - // [`aria-checked`]: https://www.w3.org/TR/wai-aria-1.2/#aria-checked - Checked *bool `json:"checked"` - // An attribute that is usually set by `aria-disabled` or `disabled`. - // **NOTE** Unlike most other attributes, `disabled` is inherited through the DOM hierarchy. Learn more about - // [`aria-disabled`]. - // - // [`aria-disabled`]: https://www.w3.org/TR/wai-aria-1.2/#aria-disabled - Disabled *bool `json:"disabled"` - // Whether “[object Object]” is matched exactly: case-sensitive and whole-string. Defaults to false. Ignored when - // “[object Object]” is a regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` - // An attribute that is usually set by `aria-expanded`. - // Learn more about [`aria-expanded`]. - // - // [`aria-expanded`]: https://www.w3.org/TR/wai-aria-1.2/#aria-expanded - Expanded *bool `json:"expanded"` - // Option that controls whether hidden elements are matched. By default, only non-hidden elements, as - // [defined by ARIA], are matched by role selector. - // Learn more about [`aria-hidden`]. - // - // [defined by ARIA]: https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion - // [`aria-hidden`]: https://www.w3.org/TR/wai-aria-1.2/#aria-hidden - IncludeHidden *bool `json:"includeHidden"` - // A number attribute that is usually present for roles `heading`, `listitem`, `row`, `treeitem`, with default values - // for `<h1>-<h6>` elements. - // Learn more about [`aria-level`]. - // - // [`aria-level`]: https://www.w3.org/TR/wai-aria-1.2/#aria-level - Level *int `json:"level"` - // Option to match the [accessible name]. By default, matching is - // case-insensitive and searches for a substring, use “[object Object]” to control this behavior. - // Learn more about [accessible name]. - // - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - Name interface{} `json:"name"` - // An attribute that is usually set by `aria-pressed`. - // Learn more about [`aria-pressed`]. - // - // [`aria-pressed`]: https://www.w3.org/TR/wai-aria-1.2/#aria-pressed - Pressed *bool `json:"pressed"` - // An attribute that is usually set by `aria-selected`. - // Learn more about [`aria-selected`]. - // - // [`aria-selected`]: https://www.w3.org/TR/wai-aria-1.2/#aria-selected - Selected *bool `json:"selected"` -} - -type FrameLocatorGetByTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameLocatorGetByTitleOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type FrameLocatorLocatorOptions struct { - // Narrows down the results of the method to those which contain elements matching this relative locator. For example, - // `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`. - // Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not - // the document root. For example, you can find `content` that has `div` in - // `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article - // div` will fail, because the inner locator must be relative and should not use any elements outside the `content`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - Has Locator `json:"has"` - // Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the - // outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - HasNot Locator `json:"hasNot"` - // Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element. - // When passed a [string], matching is case-insensitive and searches for a substring. - HasNotText interface{} `json:"hasNotText"` - // Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When - // passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches - // `<article><div>Playwright</div></article>`. - HasText interface{} `json:"hasText"` -} - -type KeyboardPressOptions struct { - // Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` -} - -type KeyboardTypeOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` -} - -type LocatorAriaSnapshotOptions struct { - // Generate symbolic reference for each element. One can use `aria-ref=<ref>` locator immediately after capturing the - // snapshot to perform actions on the element. - Ref *bool `json:"ref"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorBlurOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorBoundingBoxOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorCheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorClearOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorClickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorDblclickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorDispatchEventOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorDragToOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Clicks on the source element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - SourcePosition *Position `json:"sourcePosition"` - // Drops on the target element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - TargetPosition *Position `json:"targetPosition"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorElementHandleOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorEvaluateOptions struct { - // Maximum time in milliseconds to wait for the locator before evaluating. Note that after locator is resolved, - // evaluation itself is not limited by the timeout. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type LocatorEvaluateHandleOptions struct { - // Maximum time in milliseconds to wait for the locator before evaluating. Note that after locator is resolved, - // evaluation itself is not limited by the timeout. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` -} - -type LocatorFillOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorFilterOptions struct { - // Narrows down the results of the method to those which contain elements matching this relative locator. For example, - // `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`. - // Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not - // the document root. For example, you can find `content` that has `div` in - // `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article - // div` will fail, because the inner locator must be relative and should not use any elements outside the `content`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - Has Locator `json:"has"` - // Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the - // outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - HasNot Locator `json:"hasNot"` - // Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element. - // When passed a [string], matching is case-insensitive and searches for a substring. - HasNotText interface{} `json:"hasNotText"` - // Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When - // passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches - // `<article><div>Playwright</div></article>`. - HasText interface{} `json:"hasText"` - // Only matches visible or invisible elements. - Visible *bool `json:"visible"` -} - -type LocatorFocusOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorGetAttributeOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorGetByAltTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type LocatorGetByLabelOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type LocatorGetByPlaceholderOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type LocatorGetByRoleOptions struct { - // An attribute that is usually set by `aria-checked` or native `<input type=checkbox>` controls. - // Learn more about [`aria-checked`]. - // - // [`aria-checked`]: https://www.w3.org/TR/wai-aria-1.2/#aria-checked - Checked *bool `json:"checked"` - // An attribute that is usually set by `aria-disabled` or `disabled`. - // **NOTE** Unlike most other attributes, `disabled` is inherited through the DOM hierarchy. Learn more about - // [`aria-disabled`]. - // - // [`aria-disabled`]: https://www.w3.org/TR/wai-aria-1.2/#aria-disabled - Disabled *bool `json:"disabled"` - // Whether “[object Object]” is matched exactly: case-sensitive and whole-string. Defaults to false. Ignored when - // “[object Object]” is a regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` - // An attribute that is usually set by `aria-expanded`. - // Learn more about [`aria-expanded`]. - // - // [`aria-expanded`]: https://www.w3.org/TR/wai-aria-1.2/#aria-expanded - Expanded *bool `json:"expanded"` - // Option that controls whether hidden elements are matched. By default, only non-hidden elements, as - // [defined by ARIA], are matched by role selector. - // Learn more about [`aria-hidden`]. - // - // [defined by ARIA]: https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion - // [`aria-hidden`]: https://www.w3.org/TR/wai-aria-1.2/#aria-hidden - IncludeHidden *bool `json:"includeHidden"` - // A number attribute that is usually present for roles `heading`, `listitem`, `row`, `treeitem`, with default values - // for `<h1>-<h6>` elements. - // Learn more about [`aria-level`]. - // - // [`aria-level`]: https://www.w3.org/TR/wai-aria-1.2/#aria-level - Level *int `json:"level"` - // Option to match the [accessible name]. By default, matching is - // case-insensitive and searches for a substring, use “[object Object]” to control this behavior. - // Learn more about [accessible name]. - // - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - Name interface{} `json:"name"` - // An attribute that is usually set by `aria-pressed`. - // Learn more about [`aria-pressed`]. - // - // [`aria-pressed`]: https://www.w3.org/TR/wai-aria-1.2/#aria-pressed - Pressed *bool `json:"pressed"` - // An attribute that is usually set by `aria-selected`. - // Learn more about [`aria-selected`]. - // - // [`aria-selected`]: https://www.w3.org/TR/wai-aria-1.2/#aria-selected - Selected *bool `json:"selected"` -} - -type LocatorGetByTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type LocatorGetByTitleOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type LocatorHoverOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorInnerHTMLOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorInnerTextOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorInputValueOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsCheckedOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsDisabledOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsEditableOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsEnabledOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsHiddenOptions struct { - // - // Deprecated: This option is ignored. [Locator.IsHidden] does not wait for the element to become hidden and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type LocatorIsVisibleOptions struct { - // - // Deprecated: This option is ignored. [Locator.IsVisible] does not wait for the element to become visible and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type LocatorLocatorOptions struct { - // Narrows down the results of the method to those which contain elements matching this relative locator. For example, - // `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`. - // Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not - // the document root. For example, you can find `content` that has `div` in - // `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article - // div` will fail, because the inner locator must be relative and should not use any elements outside the `content`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - Has Locator `json:"has"` - // Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the - // outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - HasNot Locator `json:"hasNot"` - // Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element. - // When passed a [string], matching is case-insensitive and searches for a substring. - HasNotText interface{} `json:"hasNotText"` - // Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When - // passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches - // `<article><div>Playwright</div></article>`. - HasText interface{} `json:"hasText"` -} - -type LocatorPressOptions struct { - // Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorPressSequentiallyOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorScreenshotOptions struct { - // When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations. Animations get different - // treatment depending on their duration: - // - finite animations are fast-forwarded to completion, so they'll fire `transitionend` event. - // - infinite animations are canceled to initial state, and then played over after the screenshot. - // Defaults to `"allow"` that leaves animations untouched. - Animations *ScreenshotAnimations `json:"animations"` - // When set to `"hide"`, screenshot will hide text caret. When set to `"initial"`, text caret behavior will not be - // changed. Defaults to `"hide"`. - Caret *ScreenshotCaret `json:"caret"` - // Specify locators that should be masked when the screenshot is taken. Masked elements will be overlaid with a pink - // box `#FF00FF` (customized by “[object Object]”) that completely covers its bounding box. The mask is also applied - // to invisible elements, see [Matching only visible elements] to - // disable that. - // - // [Matching only visible elements]: https://playwright.dev/docs/locators#matching-only-visible-elements - Mask []Locator `json:"mask"` - // Specify the color of the overlay box for masked elements, in - // [CSS color format]. Default color is pink `#FF00FF`. - // - // [CSS color format]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value - MaskColor *string `json:"maskColor"` - // Hides default white background and allows capturing screenshots with transparency. Not applicable to `jpeg` images. - // Defaults to `false`. - OmitBackground *bool `json:"omitBackground"` - // The file path to save the image to. The screenshot type will be inferred from file extension. If “[object Object]” - // is a relative path, then it is resolved relative to the current working directory. If no path is provided, the - // image won't be saved to the disk. - Path *string `json:"path"` - // The quality of the image, between 0-100. Not applicable to `png` images. - Quality *int `json:"quality"` - // When set to `"css"`, screenshot will have a single pixel per each css pixel on the page. For high-dpi devices, this - // will keep screenshots small. Using `"device"` option will produce a single pixel per each device pixel, so - // screenshots of high-dpi devices will be twice as large or even larger. - // Defaults to `"device"`. - Scale *ScreenshotScale `json:"scale"` - // Text of the stylesheet to apply while making the screenshot. This is where you can hide dynamic elements, make - // elements invisible or change their properties to help you creating repeatable screenshots. This stylesheet pierces - // the Shadow DOM and applies to the inner frames. - Style *string `json:"style"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // Specify screenshot type, defaults to `png`. - Type *ScreenshotType `json:"type"` -} - -type LocatorScrollIntoViewIfNeededOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorSelectOptionOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorSelectTextOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorSetCheckedOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorSetInputFilesOptions struct { - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorTapOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorTextContentOptions struct { - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorTypeOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorUncheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type LocatorWaitForOptions struct { - // Defaults to `visible`. Can be either: - // - `attached` - wait for element to be present in DOM. - // - `detached` - wait for element to not be present in DOM. - // - `visible` - wait for element to have non-empty bounding box and no `visibility:hidden`. Note that element - // without any content or with `display:none` has an empty bounding box and is not considered visible. - // - `hidden` - wait for element to be either detached from DOM, or have an empty bounding box or - // `visibility:hidden`. This is opposite to the `visible` option. - State *WaitForSelectorState `json:"state"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeAttachedOptions struct { - Attached *bool `json:"attached"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeCheckedOptions struct { - // Provides state to assert for. Asserts for input to be checked by default. This option can't be used when - // “[object Object]” is set to true. - Checked *bool `json:"checked"` - // Asserts that the element is in the indeterminate (mixed) state. Only supported for checkboxes and radio buttons. - // This option can't be true when “[object Object]” is provided. - Indeterminate *bool `json:"indeterminate"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeDisabledOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeEditableOptions struct { - Editable *bool `json:"editable"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeEmptyOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeEnabledOptions struct { - Enabled *bool `json:"enabled"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeFocusedOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeHiddenOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeInViewportOptions struct { - // The minimal ratio of the element to intersect viewport. If equals to `0`, then element should intersect viewport at - // any positive ratio. Defaults to `0`. - Ratio *float64 `json:"ratio"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToBeVisibleOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` - Visible *bool `json:"visible"` -} - -type LocatorAssertionsToContainClassOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToContainTextOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` - // Whether to use `element.innerText` instead of `element.textContent` when retrieving DOM node text. - UseInnerText *bool `json:"useInnerText"` -} - -type LocatorAssertionsToHaveAccessibleDescriptionOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveAccessibleErrorMessageOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveAccessibleNameOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveAttributeOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveClassOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveCountOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveCSSOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveIdOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveJSPropertyOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveRoleOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveTextOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression flag if specified. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` - // Whether to use `element.innerText` instead of `element.textContent` when retrieving DOM node text. - UseInnerText *bool `json:"useInnerText"` -} - -type LocatorAssertionsToHaveValueOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToHaveValuesOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type LocatorAssertionsToMatchAriaSnapshotOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type MouseClickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` -} - -type MouseDblclickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` -} - -type MouseDownOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` -} - -type MouseMoveOptions struct { - // Defaults to 1. Sends intermediate `mousemove` events. - Steps *int `json:"steps"` -} - -type MouseUpOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` -} - -type PageAddScriptTagOptions struct { - // Raw JavaScript content to be injected into frame. - Content *string `json:"content"` - // Path to the JavaScript file to be injected into frame. If `path` is a relative path, then it is resolved relative - // to the current working directory. - Path *string `json:"path"` - // Script type. Use 'module' in order to load a JavaScript ES6 module. See - // [script] for more details. - // - // [script]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script - Type *string `json:"type"` - // URL of a script to be added. - URL *string `json:"url"` -} - -type PageAddStyleTagOptions struct { - // Raw CSS content to be injected into frame. - Content *string `json:"content"` - // Path to the CSS file to be injected into frame. If `path` is a relative path, then it is resolved relative to the - // current working directory. - Path *string `json:"path"` - // URL of the `<link>` tag. - URL *string `json:"url"` -} - -type PageCheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageClickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // defaults to 1. See [UIEvent.Detail]. - ClickCount *int `json:"clickCount"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageCloseOptions struct { - // The reason to be reported to the operations interrupted by the page closure. - Reason *string `json:"reason"` - // Defaults to `false`. Whether to run the - // [before unload] page handlers. - // - // [before unload]: https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload - RunBeforeUnload *bool `json:"runBeforeUnload"` -} - -type PageDblclickOptions struct { - // Defaults to `left`. - Button *MouseButton `json:"button"` - // Time to wait between `mousedown` and `mouseup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageDispatchEventOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageDragAndDropOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // Clicks on the source element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - SourcePosition *Position `json:"sourcePosition"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Drops on the target element at this point relative to the top-left corner of the element's padding box. If not - // specified, some visible point of the element is used. - TargetPosition *Position `json:"targetPosition"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageEmulateMediaOptions struct { - // Emulates [prefers-colors-scheme] - // media feature, supported values are `light` and `dark`. Passing `no-override` disables color scheme - // emulation. `no-preference` is deprecated. - // - // [prefers-colors-scheme]: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme - ColorScheme *ColorScheme `json:"colorScheme"` - // Emulates `prefers-contrast` media feature, supported values are `no-preference`, `more`. Passing - // `no-override` disables contrast emulation. - Contrast *Contrast `json:"contrast"` - // Emulates `forced-colors` media feature, supported values are `active` and `none`. Passing `no-override` - // disables forced colors emulation. - ForcedColors *ForcedColors `json:"forcedColors"` - // Changes the CSS media type of the page. The only allowed values are `screen`, `print` and `no-override`. - // Passing `no-override` disables CSS media emulation. - Media *Media `json:"media"` - // Emulates `prefers-reduced-motion` media feature, supported values are `reduce`, `no-preference`. Passing - // `no-override` disables reduced motion emulation. - ReducedMotion *ReducedMotion `json:"reducedMotion"` -} - -type PageEvalOnSelectorOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` -} - -type PageFillOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageFocusOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageFrameOptions struct { - // Frame name specified in the `iframe`'s `name` attribute. Optional. - Name *string `json:"name"` - // A glob pattern, regex pattern or predicate receiving frame's `url` as a [URL] object. Optional. - URL interface{} `json:"url"` -} - -type PageGetAttributeOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageGetByAltTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type PageGetByLabelOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type PageGetByPlaceholderOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type PageGetByRoleOptions struct { - // An attribute that is usually set by `aria-checked` or native `<input type=checkbox>` controls. - // Learn more about [`aria-checked`]. - // - // [`aria-checked`]: https://www.w3.org/TR/wai-aria-1.2/#aria-checked - Checked *bool `json:"checked"` - // An attribute that is usually set by `aria-disabled` or `disabled`. - // **NOTE** Unlike most other attributes, `disabled` is inherited through the DOM hierarchy. Learn more about - // [`aria-disabled`]. - // - // [`aria-disabled`]: https://www.w3.org/TR/wai-aria-1.2/#aria-disabled - Disabled *bool `json:"disabled"` - // Whether “[object Object]” is matched exactly: case-sensitive and whole-string. Defaults to false. Ignored when - // “[object Object]” is a regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` - // An attribute that is usually set by `aria-expanded`. - // Learn more about [`aria-expanded`]. - // - // [`aria-expanded`]: https://www.w3.org/TR/wai-aria-1.2/#aria-expanded - Expanded *bool `json:"expanded"` - // Option that controls whether hidden elements are matched. By default, only non-hidden elements, as - // [defined by ARIA], are matched by role selector. - // Learn more about [`aria-hidden`]. - // - // [defined by ARIA]: https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion - // [`aria-hidden`]: https://www.w3.org/TR/wai-aria-1.2/#aria-hidden - IncludeHidden *bool `json:"includeHidden"` - // A number attribute that is usually present for roles `heading`, `listitem`, `row`, `treeitem`, with default values - // for `<h1>-<h6>` elements. - // Learn more about [`aria-level`]. - // - // [`aria-level`]: https://www.w3.org/TR/wai-aria-1.2/#aria-level - Level *int `json:"level"` - // Option to match the [accessible name]. By default, matching is - // case-insensitive and searches for a substring, use “[object Object]” to control this behavior. - // Learn more about [accessible name]. - // - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - // [accessible name]: https://w3c.github.io/accname/#dfn-accessible-name - Name interface{} `json:"name"` - // An attribute that is usually set by `aria-pressed`. - // Learn more about [`aria-pressed`]. - // - // [`aria-pressed`]: https://www.w3.org/TR/wai-aria-1.2/#aria-pressed - Pressed *bool `json:"pressed"` - // An attribute that is usually set by `aria-selected`. - // Learn more about [`aria-selected`]. - // - // [`aria-selected`]: https://www.w3.org/TR/wai-aria-1.2/#aria-selected - Selected *bool `json:"selected"` -} - -type PageGetByTextOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type PageGetByTitleOptions struct { - // Whether to find an exact match: case-sensitive and whole-string. Default to false. Ignored when locating by a - // regular expression. Note that exact match still trims whitespace. - Exact *bool `json:"exact"` -} - -type PageGoBackOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageGoForwardOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageGotoOptions struct { - // Referer header value. If provided it will take preference over the referer header value set by - // [Page.SetExtraHTTPHeaders]. - Referer *string `json:"referer"` - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageHoverOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageInnerHTMLOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageInnerTextOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageInputValueOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageIsCheckedOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageIsDisabledOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageIsEditableOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageIsEnabledOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageIsHiddenOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // - // Deprecated: This option is ignored. [Page.IsHidden] does not wait for the element to become hidden and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type PageIsVisibleOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // - // Deprecated: This option is ignored. [Page.IsVisible] does not wait for the element to become visible and returns immediately. - Timeout *float64 `json:"timeout"` -} - -type PageLocatorOptions struct { - // Narrows down the results of the method to those which contain elements matching this relative locator. For example, - // `article` that has `text=Playwright` matches `<article><div>Playwright</div></article>`. - // Inner locator **must be relative** to the outer locator and is queried starting with the outer locator match, not - // the document root. For example, you can find `content` that has `div` in - // `<article><content><div>Playwright</div></content></article>`. However, looking for `content` that has `article - // div` will fail, because the inner locator must be relative and should not use any elements outside the `content`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - Has Locator `json:"has"` - // Matches elements that do not contain an element that matches an inner locator. Inner locator is queried against the - // outer one. For example, `article` that does not have `div` matches `<article><span>Playwright</span></article>`. - // Note that outer and inner locators must belong to the same frame. Inner locator must not contain [FrameLocator]s. - HasNot Locator `json:"hasNot"` - // Matches elements that do not contain specified text somewhere inside, possibly in a child or a descendant element. - // When passed a [string], matching is case-insensitive and searches for a substring. - HasNotText interface{} `json:"hasNotText"` - // Matches elements containing specified text somewhere inside, possibly in a child or a descendant element. When - // passed a [string], matching is case-insensitive and searches for a substring. For example, `"Playwright"` matches - // `<article><div>Playwright</div></article>`. - HasText interface{} `json:"hasText"` -} - -type PagePdfOptions struct { - // Display header and footer. Defaults to `false`. - DisplayHeaderFooter *bool `json:"displayHeaderFooter"` - // HTML template for the print footer. Should use the same format as the “[object Object]”. - FooterTemplate *string `json:"footerTemplate"` - // Paper format. If set, takes priority over “[object Object]” or “[object Object]” options. Defaults to 'Letter'. - Format *string `json:"format"` - // HTML template for the print header. Should be valid HTML markup with following classes used to inject printing - // values into them: - // - `date` formatted print date - // - `title` document title - // - `url` document location - // - `pageNumber` current page number - // - `totalPages` total pages in the document - HeaderTemplate *string `json:"headerTemplate"` - // Paper height, accepts values labeled with units. - Height *string `json:"height"` - // Paper orientation. Defaults to `false`. - Landscape *bool `json:"landscape"` - // Paper margins, defaults to none. - Margin *Margin `json:"margin"` - // Whether or not to embed the document outline into the PDF. Defaults to `false`. - Outline *bool `json:"outline"` - // Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages. - PageRanges *string `json:"pageRanges"` - // The file path to save the PDF to. If “[object Object]” is a relative path, then it is resolved relative to the - // current working directory. If no path is provided, the PDF won't be saved to the disk. - Path *string `json:"path"` - // Give any CSS `@page` size declared in the page priority over what is declared in “[object Object]” and - // “[object Object]” or “[object Object]” options. Defaults to `false`, which will scale the content to fit the paper - // size. - PreferCSSPageSize *bool `json:"preferCSSPageSize"` - // Print background graphics. Defaults to `false`. - PrintBackground *bool `json:"printBackground"` - // Scale of the webpage rendering. Defaults to `1`. Scale amount must be between 0.1 and 2. - Scale *float64 `json:"scale"` - // Whether or not to generate tagged (accessible) PDF. Defaults to `false`. - Tagged *bool `json:"tagged"` - // Paper width, accepts values labeled with units. - Width *string `json:"width"` -} - -type PagePressOptions struct { - // Time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You - // can opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as - // navigating to inaccessible pages. Defaults to `false`. - // - // Deprecated: This option will default to `true` in the future. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageQuerySelectorOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` -} - -type PageAddLocatorHandlerOptions struct { - // By default, after calling the handler Playwright will wait until the overlay becomes hidden, and only then - // Playwright will continue with the action/assertion that triggered the handler. This option allows to opt-out of - // this behavior, so that overlay can stay visible after the handler has run. - NoWaitAfter *bool `json:"noWaitAfter"` - // Specifies the maximum number of times this handler should be called. Unlimited by default. - Times *int `json:"times"` -} - -type PageReloadOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageRouteFromHAROptions struct { - // - If set to 'abort' any request not found in the HAR file will be aborted. - // - If set to 'fallback' missing requests will be sent to the network. - // Defaults to abort. - NotFound *HarNotFound `json:"notFound"` - // If specified, updates the given HAR with the actual network information instead of serving from file. The file is - // written to disk when [BrowserContext.Close] is called. - Update *bool `json:"update"` - // Optional setting to control resource content management. If `attach` is specified, resources are persisted as - // separate files or entries in the ZIP archive. If `embed` is specified, content is stored inline the HAR file. - UpdateContent *RouteFromHarUpdateContentPolicy `json:"updateContent"` - // When set to `minimal`, only record information necessary for routing from HAR. This omits sizes, timing, page, - // cookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to - // `minimal`. - UpdateMode *HarMode `json:"updateMode"` - // A glob pattern, regular expression or predicate to match the request URL. Only requests with URL matching the - // pattern will be served from the HAR file. If not specified, all requests are served from the HAR file. - URL interface{} `json:"url"` -} - -type PageScreenshotOptions struct { - // When set to `"disabled"`, stops CSS animations, CSS transitions and Web Animations. Animations get different - // treatment depending on their duration: - // - finite animations are fast-forwarded to completion, so they'll fire `transitionend` event. - // - infinite animations are canceled to initial state, and then played over after the screenshot. - // Defaults to `"allow"` that leaves animations untouched. - Animations *ScreenshotAnimations `json:"animations"` - // When set to `"hide"`, screenshot will hide text caret. When set to `"initial"`, text caret behavior will not be - // changed. Defaults to `"hide"`. - Caret *ScreenshotCaret `json:"caret"` - // An object which specifies clipping of the resulting image. - Clip *Rect `json:"clip"` - // When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Defaults to - // `false`. - FullPage *bool `json:"fullPage"` - // Specify locators that should be masked when the screenshot is taken. Masked elements will be overlaid with a pink - // box `#FF00FF` (customized by “[object Object]”) that completely covers its bounding box. The mask is also applied - // to invisible elements, see [Matching only visible elements] to - // disable that. - // - // [Matching only visible elements]: https://playwright.dev/docs/locators#matching-only-visible-elements - Mask []Locator `json:"mask"` - // Specify the color of the overlay box for masked elements, in - // [CSS color format]. Default color is pink `#FF00FF`. - // - // [CSS color format]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value - MaskColor *string `json:"maskColor"` - // Hides default white background and allows capturing screenshots with transparency. Not applicable to `jpeg` images. - // Defaults to `false`. - OmitBackground *bool `json:"omitBackground"` - // The file path to save the image to. The screenshot type will be inferred from file extension. If “[object Object]” - // is a relative path, then it is resolved relative to the current working directory. If no path is provided, the - // image won't be saved to the disk. - Path *string `json:"path"` - // The quality of the image, between 0-100. Not applicable to `png` images. - Quality *int `json:"quality"` - // When set to `"css"`, screenshot will have a single pixel per each css pixel on the page. For high-dpi devices, this - // will keep screenshots small. Using `"device"` option will produce a single pixel per each device pixel, so - // screenshots of high-dpi devices will be twice as large or even larger. - // Defaults to `"device"`. - Scale *ScreenshotScale `json:"scale"` - // Text of the stylesheet to apply while making the screenshot. This is where you can hide dynamic elements, make - // elements invisible or change their properties to help you creating repeatable screenshots. This stylesheet pierces - // the Shadow DOM and applies to the inner frames. - Style *string `json:"style"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // Specify screenshot type, defaults to `png`. - Type *ScreenshotType `json:"type"` -} - -type PageSelectOptionOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageSetCheckedOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageSetContentOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageSetInputFilesOptions struct { - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageTapOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores - // current modifiers back. If not specified, currently pressed modifiers are used. "ControlOrMeta" resolves to - // "Control" on Windows and Linux and to "Meta" on macOS. - Modifiers []KeyboardModifier `json:"modifiers"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. Note that keyboard - // `modifiers` will be pressed regardless of `trial` to allow testing elements which are only visible when those keys - // are pressed. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageTextContentOptions struct { - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageTypeOptions struct { - // Time to wait between key presses in milliseconds. Defaults to 0. - Delay *float64 `json:"delay"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageUncheckOptions struct { - // Whether to bypass the [actionability] checks. Defaults to `false`. - // - // [actionability]: https://playwright.dev/docs/actionability - Force *bool `json:"force"` - // This option has no effect. - // - // Deprecated: This option has no effect. - NoWaitAfter *bool `json:"noWaitAfter"` - // A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of - // the element. - Position *Position `json:"position"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When set, this method only performs the [actionability] checks and skips the action. Defaults - // to `false`. Useful to wait until the element is ready for the action without performing it. - // - // [actionability]: https://playwright.dev/docs/actionability - Trial *bool `json:"trial"` -} - -type PageUnrouteAllOptions struct { - // Specifies whether to wait for already running handlers and what to do if they throw errors: - // - `default` - do not wait for current handler calls (if any) to finish, if unrouted handler throws, it may - // result in unhandled error - // - `wait` - wait for current handler calls (if any) to finish - // - `ignoreErrors` - do not wait for current handler calls (if any) to finish, all errors thrown by the handlers - // after unrouting are silently caught - Behavior *UnrouteBehavior `json:"behavior"` -} - -type Size struct { - // page width in pixels. - Width int `json:"width"` - // page height in pixels. - Height int `json:"height"` -} - -type PageExpectConsoleMessageOptions struct { - // Receives the [ConsoleMessage] object and resolves to truthy value when the waiting should resolve. - Predicate func(ConsoleMessage) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectDownloadOptions struct { - // Receives the [Download] object and resolves to truthy value when the waiting should resolve. - Predicate func(Download) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectFileChooserOptions struct { - // Receives the [FileChooser] object and resolves to truthy value when the waiting should resolve. - Predicate func(FileChooser) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageWaitForFunctionOptions struct { - // If “[object Object]” is `raf`, then “[object Object]” is constantly executed in `requestAnimationFrame` callback. - // If “[object Object]” is a number, then it is treated as an interval in milliseconds at which the function would be - // executed. Defaults to `raf`. - Polling interface{} `json:"polling"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageWaitForLoadStateOptions struct { - // Optional load state to wait for, defaults to `load`. If the state has been already reached while loading current - // document, the method resolves immediately. Can be one of: - // - `load` - wait for the `load` event to be fired. - // - `domcontentloaded` - wait for the `DOMContentLoaded` event to be fired. - // - `networkidle` - **DISCOURAGED** wait until there are no network connections for at least `500` ms. Don't use - // this method for testing, rely on web assertions to assess readiness instead. - State *LoadState `json:"state"` - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageExpectNavigationOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // A glob pattern, regex pattern or predicate receiving [URL] to match while waiting for the navigation. Note that if - // the parameter is a string without wildcard characters, the method will wait for navigation to URL that is exactly - // equal to the string. - URL interface{} `json:"url"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageExpectPopupOptions struct { - // Receives the [Page] object and resolves to truthy value when the waiting should resolve. - Predicate func(Page) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectRequestOptions struct { - // Maximum wait time in milliseconds, defaults to 30 seconds, pass `0` to disable the timeout. The default value can - // be changed by using the [Page.SetDefaultTimeout] method. - Timeout *float64 `json:"timeout"` -} - -type PageExpectRequestFinishedOptions struct { - // Receives the [Request] object and resolves to truthy value when the waiting should resolve. - Predicate func(Request) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectResponseOptions struct { - // Maximum wait time in milliseconds, defaults to 30 seconds, pass `0` to disable the timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageWaitForSelectorOptions struct { - // Defaults to `visible`. Can be either: - // - `attached` - wait for element to be present in DOM. - // - `detached` - wait for element to not be present in DOM. - // - `visible` - wait for element to have non-empty bounding box and no `visibility:hidden`. Note that element - // without any content or with `display:none` has an empty bounding box and is not considered visible. - // - `hidden` - wait for element to be either detached from DOM, or have an empty bounding box or - // `visibility:hidden`. This is opposite to the `visible` option. - State *WaitForSelectorState `json:"state"` - // When true, the call requires selector to resolve to a single element. If given selector resolves to more than one - // element, the call throws an exception. - Strict *bool `json:"strict"` - // Maximum time in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` -} - -type PageWaitForURLOptions struct { - // Maximum operation time in milliseconds, defaults to 30 seconds, pass `0` to disable timeout. The default value can - // be changed by using the [BrowserContext.SetDefaultNavigationTimeout], [BrowserContext.SetDefaultTimeout], - // [Page.SetDefaultNavigationTimeout] or [Page.SetDefaultTimeout] methods. - Timeout *float64 `json:"timeout"` - // When to consider operation succeeded, defaults to `load`. Events can be either: - // - `domcontentloaded` - consider operation to be finished when the `DOMContentLoaded` event is fired. - // - `load` - consider operation to be finished when the `load` event is fired. - // - `networkidle` - **DISCOURAGED** consider operation to be finished when there are no network connections for - // at least `500` ms. Don't use this method for testing, rely on web assertions to assess readiness instead. - // - `commit` - consider operation to be finished when network response is received and the document started - // loading. - WaitUntil *WaitUntilState `json:"waitUntil"` -} - -type PageExpectWebSocketOptions struct { - // Receives the [WebSocket] object and resolves to truthy value when the waiting should resolve. - Predicate func(WebSocket) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageExpectWorkerOptions struct { - // Receives the [Worker] object and resolves to truthy value when the waiting should resolve. - Predicate func(Worker) bool `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageWaitForEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type PageAssertionsToHaveTitleOptions struct { - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type PageAssertionsToHaveURLOptions struct { - // Whether to perform case-insensitive match. “[object Object]” option takes precedence over the corresponding regular - // expression parameter if specified. A provided predicate ignores this flag. - IgnoreCase *bool `json:"ignoreCase"` - // Time to retry the assertion for in milliseconds. Defaults to `5000`. - Timeout *float64 `json:"timeout"` -} - -type RequestSizesResult struct { - // Size of the request body (POST data payload) in bytes. Set to 0 if there was no body. - RequestBodySize int `json:"requestBodySize"` - // Total number of bytes from the start of the HTTP request message until (and including) the double CRLF before the - // body. - RequestHeadersSize int `json:"requestHeadersSize"` - // Size of the received response body (encoded) in bytes. - ResponseBodySize int `json:"responseBodySize"` - // Total number of bytes from the start of the HTTP response message until (and including) the double CRLF before the - // body. - ResponseHeadersSize int `json:"responseHeadersSize"` -} - -type RequestTiming struct { - // Request start time in milliseconds elapsed since January 1, 1970 00:00:00 UTC - StartTime float64 `json:"startTime"` - // Time immediately before the browser starts the domain name lookup for the resource. The value is given in - // milliseconds relative to `startTime`, -1 if not available. - DomainLookupStart float64 `json:"domainLookupStart"` - // Time immediately after the browser starts the domain name lookup for the resource. The value is given in - // milliseconds relative to `startTime`, -1 if not available. - DomainLookupEnd float64 `json:"domainLookupEnd"` - // Time immediately before the user agent starts establishing the connection to the server to retrieve the resource. - // The value is given in milliseconds relative to `startTime`, -1 if not available. - ConnectStart float64 `json:"connectStart"` - // Time immediately before the browser starts the handshake process to secure the current connection. The value is - // given in milliseconds relative to `startTime`, -1 if not available. - SecureConnectionStart float64 `json:"secureConnectionStart"` - // Time immediately before the user agent starts establishing the connection to the server to retrieve the resource. - // The value is given in milliseconds relative to `startTime`, -1 if not available. - ConnectEnd float64 `json:"connectEnd"` - // Time immediately before the browser starts requesting the resource from the server, cache, or local resource. The - // value is given in milliseconds relative to `startTime`, -1 if not available. - RequestStart float64 `json:"requestStart"` - // Time immediately after the browser receives the first byte of the response from the server, cache, or local - // resource. The value is given in milliseconds relative to `startTime`, -1 if not available. - ResponseStart float64 `json:"responseStart"` - // Time immediately after the browser receives the last byte of the resource or immediately before the transport - // connection is closed, whichever comes first. The value is given in milliseconds relative to `startTime`, -1 if not - // available. - ResponseEnd float64 `json:"responseEnd"` -} - -type ResponseSecurityDetailsResult struct { - // Common Name component of the Issuer field. from the certificate. This should only be used for informational - // purposes. Optional. - Issuer *string `json:"issuer"` - // The specific TLS protocol used. (e.g. `TLS 1.3`). Optional. - Protocol *string `json:"protocol"` - // Common Name component of the Subject field from the certificate. This should only be used for informational - // purposes. Optional. - SubjectName *string `json:"subjectName"` - // Unix timestamp (in seconds) specifying when this cert becomes valid. Optional. - ValidFrom *float64 `json:"validFrom"` - // Unix timestamp (in seconds) specifying when this cert becomes invalid. Optional. - ValidTo *float64 `json:"validTo"` -} - -type ResponseServerAddrResult struct { - // IPv4 or IPV6 address of the server. - IpAddress string `json:"ipAddress"` - Port int `json:"port"` -} - -type RouteContinueOptions struct { - // If set changes the request HTTP headers. Header values will be converted to a string. - Headers map[string]string `json:"headers"` - // If set changes the request method (e.g. GET or POST). - Method *string `json:"method"` - // If set changes the post data of request. - PostData interface{} `json:"postData"` - // If set changes the request URL. New URL must have same protocol as original one. - URL *string `json:"url"` -} - -type RouteFallbackOptions struct { - // If set changes the request HTTP headers. Header values will be converted to a string. - Headers map[string]string `json:"headers"` - // If set changes the request method (e.g. GET or POST). - Method *string `json:"method"` - // If set changes the post data of request. - PostData interface{} `json:"postData"` - // If set changes the request URL. New URL must have same protocol as original one. Changing the URL won't affect the - // route matching, all the routes are matched using the original request URL. - URL *string `json:"url"` -} - -type RouteFetchOptions struct { - // If set changes the request HTTP headers. Header values will be converted to a string. - Headers map[string]string `json:"headers"` - // Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is - // exceeded. Defaults to `20`. Pass `0` to not follow redirects. - MaxRedirects *int `json:"maxRedirects"` - // Maximum number of times network errors should be retried. Currently only `ECONNRESET` error is retried. Does not - // retry based on HTTP response codes. An error will be thrown if the limit is exceeded. Defaults to `0` - no retries. - MaxRetries *int `json:"maxRetries"` - // If set changes the request method (e.g. GET or POST). - Method *string `json:"method"` - // If set changes the post data of request. - PostData interface{} `json:"postData"` - // Request timeout in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. - Timeout *float64 `json:"timeout"` - // If set changes the request URL. New URL must have same protocol as original one. - URL *string `json:"url"` -} - -type RouteFulfillOptions struct { - // Response body. - Body interface{} `json:"body"` - // If set, equals to setting `Content-Type` response header. - ContentType *string `json:"contentType"` - // Response headers. Header values will be converted to a string. - Headers map[string]string `json:"headers"` - // File path to respond with. The content type will be inferred from file extension. If `path` is a relative path, - // then it is resolved relative to the current working directory. - Path *string `json:"path"` - // [APIResponse] to fulfill route's request with. Individual fields of the response (such as headers) can be - // overridden using fulfill options. - Response APIResponse `json:"response"` - // Response status code, defaults to `200`. - Status *int `json:"status"` -} - -type SelectorsRegisterOptions struct { - // Whether to run this selector engine in isolated JavaScript environment. This environment has access to the same - // DOM, but not any JavaScript objects from the frame's scripts. Defaults to `false`. Note that running as a content - // script is not guaranteed when this engine is used together with other registered engines. - ContentScript *bool `json:"contentScript"` -} - -type TracingStartOptions struct { - // If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the - // “[object Object]” directory specified in [BrowserType.Launch]. To specify the final trace zip file name, you need - // to pass `path` option to [Tracing.Stop] instead. - Name *string `json:"name"` - // Whether to capture screenshots during tracing. Screenshots are used to build a timeline preview. - Screenshots *bool `json:"screenshots"` - // If this option is true tracing will - // - capture DOM snapshot on every action - // - record network activity - Snapshots *bool `json:"snapshots"` - // Whether to include source files for trace actions. - Sources *bool `json:"sources"` - // Trace name to be shown in the Trace Viewer. - Title *string `json:"title"` -} - -type TracingStartChunkOptions struct { - // If specified, intermediate trace files are going to be saved into the files with the given name prefix inside the - // “[object Object]” directory specified in [BrowserType.Launch]. To specify the final trace zip file name, you need - // to pass `path` option to [Tracing.StopChunk] instead. - Name *string `json:"name"` - // Trace name to be shown in the Trace Viewer. - Title *string `json:"title"` -} - -type TracingGroupOptions struct { - // Specifies a custom location for the group to be shown in the trace viewer. Defaults to the location of the - // [Tracing.Group] call. - Location *TracingGroupOptionsLocation `json:"location"` -} - -type WebSocketExpectEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type WebSocketWaitForEventOptions struct { - // Receives the event data and resolves to truthy value when the waiting should resolve. - Predicate interface{} `json:"predicate"` - // Maximum time to wait for in milliseconds. Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The - // default value can be changed by using the [BrowserContext.SetDefaultTimeout]. - Timeout *float64 `json:"timeout"` -} - -type WebSocketRouteCloseOptions struct { - // Optional [close code]. - // - // [close code]: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/close#code - Code *int `json:"code"` - // Optional [close reason]. - // - // [close reason]: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/close#reason - Reason *string `json:"reason"` -} - -type ClientCertificate struct { - // Exact origin that the certificate is valid for. Origin includes `https` protocol, a hostname and optionally a port. - Origin string `json:"origin"` - // Path to the file with the certificate in PEM format. - CertPath *string `json:"certPath"` - // Direct value of the certificate in PEM format. - Cert []byte `json:"cert"` - // Path to the file with the private key in PEM format. - KeyPath *string `json:"keyPath"` - // Direct value of the private key in PEM format. - Key []byte `json:"key"` - // Path to the PFX or PKCS12 encoded private key and certificate chain. - PfxPath *string `json:"pfxPath"` - // Direct value of the PFX or PKCS12 encoded private key and certificate chain. - Pfx []byte `json:"pfx"` - // Passphrase for the private key (PEM or PFX). - Passphrase *string `json:"passphrase"` -} - -type HttpCredentials struct { - Username string `json:"username"` - Password string `json:"password"` - // Restrain sending http credentials on specific origin (scheme://host:port). - Origin *string `json:"origin"` - // This option only applies to the requests sent from corresponding [APIRequestContext] and does not affect requests - // sent from the browser. `always` - `Authorization` header with basic authentication credentials will be sent with - // the each API request. `'unauthorized` - the credentials are only sent when 401 (Unauthorized) response with - // `WWW-Authenticate` header is received. Defaults to `unauthorized`. - Send *HttpCredentialsSend `json:"send"` -} - -type Proxy struct { - // Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example `http://myproxy.com:3128` or - // `socks5://myproxy.com:3128`. Short form `myproxy.com:3128` is considered an HTTP proxy. - Server string `json:"server"` - // Optional comma-separated domains to bypass proxy, for example `".com, chromium.org, .domain.com"`. - Bypass *string `json:"bypass"` - // Optional username to use if HTTP proxy requires authentication. - Username *string `json:"username"` - // Optional password to use if HTTP proxy requires authentication. - Password *string `json:"password"` -} - -type Origin struct { - Origin string `json:"origin"` - LocalStorage []NameValue `json:"localStorage"` -} - -type RecordVideo struct { - // Path to the directory to put videos into. - Dir string `json:"dir"` - // Optional dimensions of the recorded videos. If not specified the size will be equal to `viewport` scaled down to - // fit into 800x800. If `viewport` is not configured explicitly the video size defaults to 800x450. Actual picture of - // each page will be scaled down if necessary to fit the specified size. - Size *Size `json:"size"` -} - -type OptionalStorageState struct { - // Cookies to set for context - Cookies []OptionalCookie `json:"cookies"` - // localStorage to set for context - Origins []Origin `json:"origins"` -} - -type Position struct { - X float64 `json:"x"` - Y float64 `json:"y"` -} - -type Margin struct { - // Top margin, accepts values labeled with units. Defaults to `0`. - Top *string `json:"top"` - // Right margin, accepts values labeled with units. Defaults to `0`. - Right *string `json:"right"` - // Bottom margin, accepts values labeled with units. Defaults to `0`. - Bottom *string `json:"bottom"` - // Left margin, accepts values labeled with units. Defaults to `0`. - Left *string `json:"left"` -} - -type TracingGroupOptionsLocation struct { - File string `json:"file"` - Line *int `json:"line"` - Column *int `json:"column"` -} |
