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