patchright-core 1.56.1 → 1.58.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/ThirdPartyNotices.txt +3134 -560
  2. package/bin/install_webkit_wsl.ps1 +1 -3
  3. package/browsers.json +21 -22
  4. package/lib/cli/program.js +16 -60
  5. package/lib/client/api.js +3 -3
  6. package/lib/client/browser.js +3 -5
  7. package/lib/client/browserContext.js +62 -8
  8. package/lib/client/browserType.js +4 -3
  9. package/lib/client/connection.js +4 -0
  10. package/lib/client/consoleMessage.js +5 -1
  11. package/lib/client/electron.js +1 -1
  12. package/lib/client/elementHandle.js +3 -0
  13. package/lib/client/events.js +5 -1
  14. package/lib/client/fetch.js +3 -4
  15. package/lib/client/frame.js +10 -1
  16. package/lib/client/locator.js +12 -1
  17. package/lib/client/network.js +5 -1
  18. package/lib/client/page.js +31 -6
  19. package/lib/client/pageAgent.js +64 -0
  20. package/lib/client/platform.js +3 -0
  21. package/lib/client/playwright.js +1 -5
  22. package/lib/client/tracing.js +7 -5
  23. package/lib/client/worker.js +22 -0
  24. package/lib/generated/clockSource.js +1 -1
  25. package/lib/generated/injectedScriptSource.js +1 -1
  26. package/lib/generated/pollingRecorderSource.js +1 -1
  27. package/lib/inProcessFactory.js +0 -2
  28. package/lib/mcpBundle.js +84 -0
  29. package/lib/mcpBundleImpl/index.js +147 -0
  30. package/lib/protocol/serializers.js +5 -0
  31. package/lib/protocol/validator.js +112 -50
  32. package/lib/remote/playwrightServer.js +1 -2
  33. package/lib/server/agent/actionRunner.js +335 -0
  34. package/lib/server/agent/actions.js +128 -0
  35. package/lib/server/agent/codegen.js +111 -0
  36. package/lib/server/agent/context.js +150 -0
  37. package/lib/server/agent/expectTools.js +156 -0
  38. package/lib/server/agent/pageAgent.js +204 -0
  39. package/lib/server/agent/performTools.js +262 -0
  40. package/lib/server/agent/tool.js +109 -0
  41. package/lib/server/android/android.js +1 -1
  42. package/lib/server/artifact.js +1 -1
  43. package/lib/server/bidi/bidiBrowser.js +81 -22
  44. package/lib/server/bidi/bidiChromium.js +9 -13
  45. package/lib/server/bidi/bidiConnection.js +1 -0
  46. package/lib/server/bidi/bidiDeserializer.js +116 -0
  47. package/lib/server/bidi/bidiExecutionContext.js +75 -29
  48. package/lib/server/bidi/bidiFirefox.js +7 -9
  49. package/lib/server/bidi/bidiNetworkManager.js +1 -1
  50. package/lib/server/bidi/bidiPage.js +61 -30
  51. package/lib/server/bidi/third_party/bidiProtocolCore.js +1 -0
  52. package/lib/server/browserContext.js +43 -36
  53. package/lib/server/browserType.js +12 -4
  54. package/lib/server/chromium/chromium.js +26 -21
  55. package/lib/server/chromium/chromiumSwitches.js +12 -3
  56. package/lib/server/chromium/crBrowser.js +30 -12
  57. package/lib/server/chromium/crConnection.js +0 -5
  58. package/lib/server/chromium/crCoverage.js +13 -1
  59. package/lib/server/chromium/crDevTools.js +0 -2
  60. package/lib/server/chromium/crNetworkManager.js +107 -18
  61. package/lib/server/chromium/crPage.js +68 -124
  62. package/lib/server/chromium/crServiceWorker.js +14 -1
  63. package/lib/server/codegen/javascript.js +6 -29
  64. package/lib/server/console.js +5 -1
  65. package/lib/server/deviceDescriptorsSource.json +56 -56
  66. package/lib/server/dispatchers/browserContextDispatcher.js +26 -8
  67. package/lib/server/dispatchers/dispatcher.js +6 -13
  68. package/lib/server/dispatchers/frameDispatcher.js +1 -1
  69. package/lib/server/dispatchers/jsHandleDispatcher.js +2 -2
  70. package/lib/server/dispatchers/pageAgentDispatcher.js +96 -0
  71. package/lib/server/dispatchers/pageDispatcher.js +14 -22
  72. package/lib/server/dispatchers/playwrightDispatcher.js +0 -4
  73. package/lib/server/dom.js +12 -3
  74. package/lib/server/electron/electron.js +6 -3
  75. package/lib/server/firefox/ffBrowser.js +10 -20
  76. package/lib/server/firefox/ffConnection.js +0 -5
  77. package/lib/server/firefox/ffNetworkManager.js +2 -2
  78. package/lib/server/firefox/ffPage.js +18 -24
  79. package/lib/server/firefox/firefox.js +18 -9
  80. package/lib/server/frameSelectors.js +18 -8
  81. package/lib/server/frames.js +257 -87
  82. package/lib/server/input.js +7 -3
  83. package/lib/server/instrumentation.js +3 -0
  84. package/lib/server/javascript.js +8 -4
  85. package/lib/server/launchApp.js +2 -1
  86. package/lib/server/localUtils.js +4 -8
  87. package/lib/server/network.js +50 -12
  88. package/lib/server/page.js +112 -126
  89. package/lib/server/playwright.js +2 -4
  90. package/lib/server/progress.js +26 -6
  91. package/lib/server/recorder/recorderApp.js +80 -101
  92. package/lib/server/recorder.js +3 -2
  93. package/lib/server/registry/browserFetcher.js +6 -4
  94. package/lib/server/registry/index.js +278 -189
  95. package/lib/server/registry/oopDownloadBrowserMain.js +9 -2
  96. package/lib/server/screencast.js +190 -0
  97. package/lib/server/screenshotter.js +6 -0
  98. package/lib/server/socksClientCertificatesInterceptor.js +1 -1
  99. package/lib/server/trace/recorder/snapshotter.js +17 -8
  100. package/lib/server/trace/recorder/snapshotterInjected.js +30 -72
  101. package/lib/server/trace/recorder/tracing.js +31 -21
  102. package/lib/server/trace/viewer/traceParser.js +72 -0
  103. package/lib/server/trace/viewer/traceViewer.js +45 -40
  104. package/lib/server/utils/comparators.js +3 -25
  105. package/lib/server/utils/expectUtils.js +87 -2
  106. package/lib/server/utils/hostPlatform.js +30 -3
  107. package/lib/server/utils/httpServer.js +5 -20
  108. package/lib/server/utils/imageUtils.js +141 -0
  109. package/lib/server/utils/network.js +55 -40
  110. package/lib/server/utils/nodePlatform.js +6 -0
  111. package/lib/server/{chromium/videoRecorder.js → videoRecorder.js} +35 -24
  112. package/lib/server/webkit/webkit.js +5 -16
  113. package/lib/server/webkit/wkBrowser.js +2 -6
  114. package/lib/server/webkit/wkConnection.js +1 -6
  115. package/lib/server/webkit/wkInterceptableRequest.js +29 -1
  116. package/lib/server/webkit/wkPage.js +76 -51
  117. package/lib/server/webkit/wkWorkers.js +2 -1
  118. package/lib/utils/isomorphic/ariaSnapshot.js +63 -0
  119. package/lib/utils/isomorphic/locatorGenerators.js +24 -8
  120. package/lib/utils/isomorphic/lruCache.js +51 -0
  121. package/lib/utils/isomorphic/mimeType.js +1 -1
  122. package/lib/utils/isomorphic/protocolFormatter.js +3 -0
  123. package/lib/utils/isomorphic/protocolMetainfo.js +11 -2
  124. package/lib/utils/isomorphic/stringUtils.js +49 -0
  125. package/lib/utils/isomorphic/trace/entries.js +16 -0
  126. package/lib/utils/isomorphic/trace/snapshotRenderer.js +499 -0
  127. package/lib/utils/isomorphic/trace/snapshotServer.js +120 -0
  128. package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -0
  129. package/lib/utils/isomorphic/trace/traceLoader.js +131 -0
  130. package/lib/utils/isomorphic/trace/traceModel.js +365 -0
  131. package/lib/utils/isomorphic/trace/traceModernizer.js +400 -0
  132. package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -0
  133. package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -0
  134. package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -0
  135. package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -0
  136. package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -0
  137. package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -0
  138. package/lib/utils/isomorphic/urlMatch.js +19 -5
  139. package/lib/utils/isomorphic/yaml.js +84 -0
  140. package/lib/utils.js +4 -0
  141. package/lib/utilsBundle.js +1 -1
  142. package/lib/utilsBundleImpl/index.js +124 -124
  143. package/lib/vite/htmlReport/index.html +21 -21
  144. package/lib/vite/recorder/assets/codeMirrorModule-CFUTFUO7.js +32 -0
  145. package/lib/vite/recorder/assets/{codeMirrorModule-C3UTv-Ge.css → codeMirrorModule-DYBRYzYX.css} +1 -1
  146. package/lib/vite/recorder/assets/{index-Ri0uHF7I.css → index-BSjZa4pk.css} +1 -1
  147. package/lib/vite/recorder/assets/index-CVkBxsGf.js +193 -0
  148. package/lib/vite/recorder/index.html +2 -2
  149. package/lib/vite/traceViewer/assets/codeMirrorModule-BVA4h_ZY.js +32 -0
  150. package/lib/vite/traceViewer/assets/defaultSettingsView-CjfmcdOz.js +266 -0
  151. package/lib/vite/traceViewer/{codeMirrorModule.C3UTv-Ge.css → codeMirrorModule.DYBRYzYX.css} +1 -1
  152. package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +1 -0
  153. package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -0
  154. package/lib/vite/traceViewer/index.BtyWtaE-.js +2 -0
  155. package/lib/vite/traceViewer/index.html +6 -6
  156. package/lib/vite/traceViewer/manifest.webmanifest +16 -0
  157. package/lib/vite/traceViewer/snapshot.html +3 -3
  158. package/lib/vite/traceViewer/sw.bundle.js +5 -3
  159. package/lib/vite/traceViewer/uiMode.fyrXARf2.js +5 -0
  160. package/lib/vite/traceViewer/uiMode.html +3 -3
  161. package/package.json +2 -1
  162. package/types/protocol.d.ts +939 -245
  163. package/types/types.d.ts +143 -153
  164. package/lib/client/accessibility.js +0 -49
  165. package/lib/server/accessibility.js +0 -69
  166. package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  167. package/lib/server/chromium/crAccessibility.js +0 -263
  168. package/lib/server/firefox/ffAccessibility.js +0 -238
  169. package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  170. package/lib/server/webkit/wkAccessibility.js +0 -237
  171. package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +0 -74
  172. package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +0 -113
  173. package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +0 -24
  174. package/lib/vite/recorder/assets/index-Y-X2TGJv.js +0 -193
  175. package/lib/vite/traceViewer/assets/codeMirrorModule-rbQPefq7.js +0 -24
  176. package/lib/vite/traceViewer/assets/defaultSettingsView-CLbol9XR.js +0 -265
  177. package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +0 -1
  178. package/lib/vite/traceViewer/index.I8N9v4jT.css +0 -1
  179. package/lib/vite/traceViewer/index.zIVi6mN9.js +0 -2
  180. package/lib/vite/traceViewer/uiMode.B_CpmIpF.js +0 -5
package/types/types.d.ts CHANGED
@@ -2496,6 +2496,12 @@ export interface Page {
2496
2496
  y: number;
2497
2497
  };
2498
2498
 
2499
+ /**
2500
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between the `mousedown` and `mouseup`
2501
+ * of the drag. When set to 1, emits a single `mousemove` event at the destination location.
2502
+ */
2503
+ steps?: number;
2504
+
2499
2505
  /**
2500
2506
  * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
2501
2507
  * element, the call throws an exception.
@@ -5167,13 +5173,6 @@ export interface Page {
5167
5173
  */
5168
5174
  workers(): Array<Worker>;
5169
5175
 
5170
- /**
5171
- * @deprecated This property is discouraged. Please use other libraries such as [Axe](https://www.deque.com/axe/) if you need to
5172
- * test page accessibility. See our Node.js [guide](https://playwright.dev/docs/accessibility-testing) for integration
5173
- * with Axe.
5174
- */
5175
- accessibility: Accessibility;
5176
-
5177
5176
  /**
5178
5177
  * Playwright has ability to mock clock and passage of time.
5179
5178
  */
@@ -6407,6 +6406,12 @@ export interface Frame {
6407
6406
  y: number;
6408
6407
  };
6409
6408
 
6409
+ /**
6410
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between the `mousedown` and `mouseup`
6411
+ * of the drag. When set to 1, emits a single `mousemove` event at the destination location.
6412
+ */
6413
+ steps?: number;
6414
+
6410
6415
  /**
6411
6416
  * When true, the call requires selector to resolve to a single element. If given selector resolves to more than one
6412
6417
  * element, the call throws an exception.
@@ -8802,18 +8807,18 @@ export interface BrowserContext {
8802
8807
  value: string;
8803
8808
 
8804
8809
  /**
8805
- * Either url or domain / path are required. Optional.
8810
+ * Either `url` or both `domain` and `path` are required. Optional.
8806
8811
  */
8807
8812
  url?: string;
8808
8813
 
8809
8814
  /**
8810
- * For the cookie to apply to all subdomains as well, prefix domain with a dot, like this: ".example.com". Either url
8811
- * or domain / path are required. Optional.
8815
+ * For the cookie to apply to all subdomains as well, prefix domain with a dot, like this: ".example.com". Either
8816
+ * `url` or both `domain` and `path` are required. Optional.
8812
8817
  */
8813
8818
  domain?: string;
8814
8819
 
8815
8820
  /**
8816
- * Either url or domain / path are required Optional.
8821
+ * Either `url` or both `domain` and `path` are required. Optional.
8817
8822
  */
8818
8823
  path?: string;
8819
8824
 
@@ -10325,34 +10330,76 @@ export interface Worker {
10325
10330
  */
10326
10331
  on(event: 'close', listener: (worker: Worker) => any): this;
10327
10332
 
10333
+ /**
10334
+ * Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10335
+ */
10336
+ on(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10337
+
10328
10338
  /**
10329
10339
  * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
10330
10340
  */
10331
10341
  once(event: 'close', listener: (worker: Worker) => any): this;
10332
10342
 
10343
+ /**
10344
+ * Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
10345
+ */
10346
+ once(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10347
+
10333
10348
  /**
10334
10349
  * Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is
10335
10350
  * terminated.
10336
10351
  */
10337
10352
  addListener(event: 'close', listener: (worker: Worker) => any): this;
10338
10353
 
10354
+ /**
10355
+ * Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10356
+ */
10357
+ addListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10358
+
10339
10359
  /**
10340
10360
  * Removes an event listener added by `on` or `addListener`.
10341
10361
  */
10342
10362
  removeListener(event: 'close', listener: (worker: Worker) => any): this;
10343
10363
 
10364
+ /**
10365
+ * Removes an event listener added by `on` or `addListener`.
10366
+ */
10367
+ removeListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10368
+
10344
10369
  /**
10345
10370
  * Removes an event listener added by `on` or `addListener`.
10346
10371
  */
10347
10372
  off(event: 'close', listener: (worker: Worker) => any): this;
10348
10373
 
10374
+ /**
10375
+ * Removes an event listener added by `on` or `addListener`.
10376
+ */
10377
+ off(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10378
+
10349
10379
  /**
10350
10380
  * Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is
10351
10381
  * terminated.
10352
10382
  */
10353
10383
  prependListener(event: 'close', listener: (worker: Worker) => any): this;
10354
10384
 
10385
+ /**
10386
+ * Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10387
+ */
10388
+ prependListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10389
+
10355
10390
  url(): string;
10391
+
10392
+ /**
10393
+ * Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is
10394
+ * terminated.
10395
+ */
10396
+ waitForEvent(event: 'close', optionsOrPredicate?: { predicate?: (worker: Worker) => boolean | Promise<boolean>, timeout?: number } | ((worker: Worker) => boolean | Promise<boolean>)): Promise<Worker>;
10397
+
10398
+ /**
10399
+ * Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10400
+ */
10401
+ waitForEvent(event: 'console', optionsOrPredicate?: { predicate?: (consoleMessage: ConsoleMessage) => boolean | Promise<boolean>, timeout?: number } | ((consoleMessage: ConsoleMessage) => boolean | Promise<boolean>)): Promise<ConsoleMessage>;
10402
+
10356
10403
  }
10357
10404
 
10358
10405
  /**
@@ -11211,6 +11258,12 @@ export interface ElementHandle<T=Node> extends JSHandle<T> {
11211
11258
  y: number;
11212
11259
  };
11213
11260
 
11261
+ /**
11262
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between Playwright's current cursor
11263
+ * position and the provided destination. When set to 1, emits a single `mousemove` event at the destination location.
11264
+ */
11265
+ steps?: number;
11266
+
11214
11267
  /**
11215
11268
  * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
11216
11269
  * option in the config, or by using the
@@ -11294,6 +11347,12 @@ export interface ElementHandle<T=Node> extends JSHandle<T> {
11294
11347
  y: number;
11295
11348
  };
11296
11349
 
11350
+ /**
11351
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between Playwright's current cursor
11352
+ * position and the provided destination. When set to 1, emits a single `mousemove` event at the destination location.
11353
+ */
11354
+ steps?: number;
11355
+
11297
11356
  /**
11298
11357
  * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
11299
11358
  * option in the config, or by using the
@@ -12398,6 +12457,12 @@ export interface Locator {
12398
12457
  elementHandle(options?: {
12399
12458
  timeout?: number;
12400
12459
  }): Promise<null|ElementHandle<SVGElement | HTMLElement>>;
12460
+ /**
12461
+ * Returns a human-readable representation of the locator, using the
12462
+ * [locator.description()](https://playwright.dev/docs/api/class-locator#locator-description) if one exists;
12463
+ * otherwise, it generates a string based on the locator's selector.
12464
+ */
12465
+ toString(): string;
12401
12466
  /**
12402
12467
  * When the locator points to a list of elements, this returns an array of locators, pointing to their respective
12403
12468
  * elements.
@@ -12788,6 +12853,12 @@ export interface Locator {
12788
12853
  y: number;
12789
12854
  };
12790
12855
 
12856
+ /**
12857
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between Playwright's current cursor
12858
+ * position and the provided destination. When set to 1, emits a single `mousemove` event at the destination location.
12859
+ */
12860
+ steps?: number;
12861
+
12791
12862
  /**
12792
12863
  * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
12793
12864
  * option in the config, or by using the
@@ -12905,6 +12976,12 @@ export interface Locator {
12905
12976
  y: number;
12906
12977
  };
12907
12978
 
12979
+ /**
12980
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between Playwright's current cursor
12981
+ * position and the provided destination. When set to 1, emits a single `mousemove` event at the destination location.
12982
+ */
12983
+ steps?: number;
12984
+
12908
12985
  /**
12909
12986
  * Maximum time in milliseconds. Defaults to `0` - no timeout. The default value can be changed via `actionTimeout`
12910
12987
  * option in the config, or by using the
@@ -12937,6 +13014,26 @@ export interface Locator {
12937
13014
  */
12938
13015
  describe(description: string): Locator;
12939
13016
 
13017
+ /**
13018
+ * Returns locator description previously set with
13019
+ * [locator.describe(description)](https://playwright.dev/docs/api/class-locator#locator-describe). Returns `null` if
13020
+ * no custom description has been set. Prefer
13021
+ * [locator.toString()](https://playwright.dev/docs/api/class-locator#locator-to-string) for a human-readable
13022
+ * representation, as it uses the description when available.
13023
+ *
13024
+ * **Usage**
13025
+ *
13026
+ * ```js
13027
+ * const button = page.getByRole('button').describe('Subscribe button');
13028
+ * console.log(button.description()); // "Subscribe button"
13029
+ *
13030
+ * const input = page.getByRole('textbox');
13031
+ * console.log(input.description()); // null
13032
+ * ```
13033
+ *
13034
+ */
13035
+ description(): null|string;
13036
+
12940
13037
  /**
12941
13038
  * Programmatically dispatch an event on the matching element.
12942
13039
  *
@@ -13039,6 +13136,12 @@ export interface Locator {
13039
13136
  y: number;
13040
13137
  };
13041
13138
 
13139
+ /**
13140
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between the `mousedown` and `mouseup`
13141
+ * of the drag. When set to 1, emits a single `mousemove` event at the destination location.
13142
+ */
13143
+ steps?: number;
13144
+
13042
13145
  /**
13043
13146
  * Drops on the target element at this point relative to the top-left corner of the element's padding box. If not
13044
13147
  * specified, some visible point of the element is used.
@@ -14902,14 +15005,6 @@ export interface BrowserType<Unused = {}> {
14902
15005
  */
14903
15006
  deviceScaleFactor?: number;
14904
15007
 
14905
- /**
14906
- * **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
14907
- * [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context-option-headless)
14908
- * option will be set `false`.
14909
- * @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
14910
- */
14911
- devtools?: boolean;
14912
-
14913
15008
  /**
14914
15009
  * If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
14915
15010
  * is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
@@ -14989,9 +15084,7 @@ export interface BrowserType<Unused = {}> {
14989
15084
  /**
14990
15085
  * Whether to run browser in headless mode. More details for
14991
15086
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
14992
- * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
14993
- * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
14994
- * `true`.
15087
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
14995
15088
  */
14996
15089
  headless?: boolean;
14997
15090
 
@@ -15332,14 +15425,6 @@ export interface BrowserType<Unused = {}> {
15332
15425
  */
15333
15426
  chromiumSandbox?: boolean;
15334
15427
 
15335
- /**
15336
- * **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
15337
- * [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-server-option-headless) option
15338
- * will be set `false`.
15339
- * @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
15340
- */
15341
- devtools?: boolean;
15342
-
15343
15428
  /**
15344
15429
  * If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
15345
15430
  * is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
@@ -15384,9 +15469,7 @@ export interface BrowserType<Unused = {}> {
15384
15469
  /**
15385
15470
  * Whether to run browser in headless mode. More details for
15386
15471
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
15387
- * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
15388
- * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
15389
- * `true`.
15472
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
15390
15473
  */
15391
15474
  headless?: boolean;
15392
15475
 
@@ -15731,97 +15814,6 @@ class TimeoutError extends Error {
15731
15814
 
15732
15815
  }
15733
15816
 
15734
- /**
15735
- * The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is
15736
- * used by assistive technology such as [screen readers](https://en.wikipedia.org/wiki/Screen_reader) or
15737
- * [switches](https://en.wikipedia.org/wiki/Switch_access).
15738
- *
15739
- * Accessibility is a very platform-specific thing. On different platforms, there are different screen readers that
15740
- * might have wildly different output.
15741
- *
15742
- * Rendering engines of Chromium, Firefox and WebKit have a concept of "accessibility tree", which is then translated
15743
- * into different platform-specific APIs. Accessibility namespace gives access to this Accessibility Tree.
15744
- *
15745
- * Most of the accessibility tree gets filtered out when converting from internal browser AX Tree to Platform-specific
15746
- * AX-Tree or by assistive technologies themselves. By default, Playwright tries to approximate this filtering,
15747
- * exposing only the "interesting" nodes of the tree.
15748
- */
15749
- export interface Accessibility {
15750
- /**
15751
- * Captures the current state of the accessibility tree. The returned object represents the root accessible node of
15752
- * the page.
15753
- *
15754
- * **NOTE** The Chromium accessibility tree contains nodes that go unused on most platforms and by most screen
15755
- * readers. Playwright will discard them as well for an easier to process tree, unless
15756
- * [`interestingOnly`](https://playwright.dev/docs/api/class-accessibility#accessibility-snapshot-option-interesting-only)
15757
- * is set to `false`.
15758
- *
15759
- * **Usage**
15760
- *
15761
- * An example of dumping the entire accessibility tree:
15762
- *
15763
- * ```js
15764
- * const snapshot = await page.accessibility.snapshot();
15765
- * console.log(snapshot);
15766
- * ```
15767
- *
15768
- * An example of logging the focused node's name:
15769
- *
15770
- * ```js
15771
- * const snapshot = await page.accessibility.snapshot();
15772
- * const node = findFocusedNode(snapshot);
15773
- * console.log(node && node.name);
15774
- *
15775
- * function findFocusedNode(node) {
15776
- * if (node.focused)
15777
- * return node;
15778
- * for (const child of node.children || []) {
15779
- * const foundNode = findFocusedNode(child);
15780
- * if (foundNode)
15781
- * return foundNode;
15782
- * }
15783
- * return null;
15784
- * }
15785
- * ```
15786
- *
15787
- * @deprecated This method is deprecated. Please use other libraries such as [Axe](https://www.deque.com/axe/) if you need to test
15788
- * page accessibility. See our Node.js [guide](https://playwright.dev/docs/accessibility-testing) for integration with
15789
- * Axe.
15790
- * @param options
15791
- */
15792
- snapshot(options?: AccessibilitySnapshotOptions): Promise<null|AccessibilityNode>;
15793
-
15794
- }
15795
-
15796
- type AccessibilityNode = {
15797
- role: string;
15798
- name: string;
15799
- value?: string|number;
15800
- description?: string;
15801
- keyshortcuts?: string;
15802
- roledescription?: string;
15803
- valuetext?: string;
15804
- disabled?: boolean;
15805
- expanded?: boolean;
15806
- focused?: boolean;
15807
- modal?: boolean;
15808
- multiline?: boolean;
15809
- multiselectable?: boolean;
15810
- readonly?: boolean;
15811
- required?: boolean;
15812
- selected?: boolean;
15813
- checked?: boolean|"mixed";
15814
- pressed?: boolean|"mixed";
15815
- level?: number;
15816
- valuemin?: number;
15817
- valuemax?: number;
15818
- autocomplete?: string;
15819
- haspopup?: string;
15820
- invalid?: string;
15821
- orientation?: string;
15822
- children?: AccessibilityNode[];
15823
- }
15824
-
15825
15817
  export const devices: Devices;
15826
15818
 
15827
15819
  //@ts-ignore this will be any if electron is not installed
@@ -16291,8 +16283,6 @@ export type AndroidKey =
16291
16283
 
16292
16284
  export const _electron: Electron;
16293
16285
  export const _android: Android;
16294
- export const _bidiChromium: BrowserType;
16295
- export const _bidiFirefox: BrowserType;
16296
16286
 
16297
16287
  // This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
16298
16288
  export {};
@@ -18878,7 +18868,14 @@ export interface ConsoleMessage {
18878
18868
  */
18879
18869
  text(): string;
18880
18870
 
18881
- type(): "log"|"debug"|"info"|"error"|"warning"|"dir"|"dirxml"|"table"|"trace"|"clear"|"startGroup"|"startGroupCollapsed"|"endGroup"|"assert"|"profile"|"profileEnd"|"count"|"timeEnd";
18871
+ type(): "log"|"debug"|"info"|"error"|"warning"|"dir"|"dirxml"|"table"|"trace"|"clear"|"startGroup"|"startGroupCollapsed"|"endGroup"|"assert"|"profile"|"profileEnd"|"count"|"time"|"timeEnd";
18872
+
18873
+ /**
18874
+ * The web worker or service worker that produced this console message, if any. Note that console messages from web
18875
+ * workers also have non-null
18876
+ * [consoleMessage.page()](https://playwright.dev/docs/api/class-consolemessage#console-message-page).
18877
+ */
18878
+ worker(): null|Worker;
18882
18879
  }
18883
18880
 
18884
18881
  /**
@@ -19109,6 +19106,10 @@ export interface Download {
19109
19106
 
19110
19107
  /**
19111
19108
  * Returns a readable stream for a successful download, or throws for a failed/canceled download.
19109
+ *
19110
+ * **NOTE** If you don't need a readable stream, it's usually simpler to read the file from disk after the download
19111
+ * completed. See [download.path()](https://playwright.dev/docs/api/class-download#download-path).
19112
+ *
19112
19113
  */
19113
19114
  createReadStream(): Promise<Readable>;
19114
19115
 
@@ -20274,7 +20275,8 @@ export interface Mouse {
20274
20275
  */
20275
20276
  move(x: number, y: number, options?: {
20276
20277
  /**
20277
- * Defaults to 1. Sends intermediate `mousemove` events.
20278
+ * Defaults to 1. Sends `n` interpolated `mousemove` events to represent travel between Playwright's current cursor
20279
+ * position and the provided destination. When set to 1, emits a single `mousemove` event at the destination location.
20278
20280
  */
20279
20281
  steps?: number;
20280
20282
  }): Promise<void>;
@@ -20861,8 +20863,12 @@ export interface Route {
20861
20863
  * [route.fallback([options])](https://playwright.dev/docs/api/class-route#route-fallback) If you want next matching
20862
20864
  * handler in the chain to be invoked.
20863
20865
  *
20864
- * **NOTE** The `Cookie` header cannot be overridden using this method. If a value is provided, it will be ignored,
20865
- * and the cookie will be loaded from the browser's cookie store. To set custom cookies, use
20866
+ * **NOTE** Some request headers are **forbidden** and cannot be overridden (for example, `Cookie`, `Host`,
20867
+ * `Content-Length` and others, see
20868
+ * [this MDN page](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_request_header) for full list). If an
20869
+ * override is provided for a forbidden header, it will be ignored and the original request header will be used.
20870
+ *
20871
+ * To set custom cookies, use
20866
20872
  * [browserContext.addCookies(cookies)](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-cookies).
20867
20873
  *
20868
20874
  * @param options
@@ -21724,18 +21730,6 @@ export interface WebSocket {
21724
21730
 
21725
21731
  }
21726
21732
 
21727
- interface AccessibilitySnapshotOptions {
21728
- /**
21729
- * Prune uninteresting nodes from the tree. Defaults to `true`.
21730
- */
21731
- interestingOnly?: boolean;
21732
-
21733
- /**
21734
- * The root DOM element for the snapshot. Defaults to the whole page.
21735
- */
21736
- root?: ElementHandle;
21737
- }
21738
-
21739
21733
  export interface LaunchOptions {
21740
21734
  /**
21741
21735
  * **NOTE** Use custom browser args at your own risk, as some of them may break Playwright functionality.
@@ -21760,14 +21754,6 @@ export interface LaunchOptions {
21760
21754
  */
21761
21755
  chromiumSandbox?: boolean;
21762
21756
 
21763
- /**
21764
- * **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
21765
- * [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-headless) option will be
21766
- * set `false`.
21767
- * @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
21768
- */
21769
- devtools?: boolean;
21770
-
21771
21757
  /**
21772
21758
  * If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
21773
21759
  * is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
@@ -21812,9 +21798,7 @@ export interface LaunchOptions {
21812
21798
  /**
21813
21799
  * Whether to run browser in headless mode. More details for
21814
21800
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
21815
- * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
21816
- * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
21817
- * `true`.
21801
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
21818
21802
  */
21819
21803
  headless?: boolean;
21820
21804
 
@@ -21886,6 +21870,12 @@ export interface ConnectOverCDPOptions {
21886
21870
  */
21887
21871
  headers?: { [key: string]: string; };
21888
21872
 
21873
+ /**
21874
+ * Tells Playwright that it runs on the same host as the CDP server. It will enable certain optimizations that rely
21875
+ * upon the file system being the same between Playwright and the Browser.
21876
+ */
21877
+ isLocal?: boolean;
21878
+
21889
21879
  /**
21890
21880
  * Logger sink for Playwright logging. Optional.
21891
21881
  * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var accessibility_exports = {};
20
- __export(accessibility_exports, {
21
- Accessibility: () => Accessibility
22
- });
23
- module.exports = __toCommonJS(accessibility_exports);
24
- function axNodeFromProtocol(axNode) {
25
- const result = {
26
- ...axNode,
27
- value: axNode.valueNumber !== void 0 ? axNode.valueNumber : axNode.valueString,
28
- checked: axNode.checked === "checked" ? true : axNode.checked === "unchecked" ? false : axNode.checked,
29
- pressed: axNode.pressed === "pressed" ? true : axNode.pressed === "released" ? false : axNode.pressed,
30
- children: axNode.children ? axNode.children.map(axNodeFromProtocol) : void 0
31
- };
32
- delete result.valueNumber;
33
- delete result.valueString;
34
- return result;
35
- }
36
- class Accessibility {
37
- constructor(channel) {
38
- this._channel = channel;
39
- }
40
- async snapshot(options = {}) {
41
- const root = options.root ? options.root._elementChannel : void 0;
42
- const result = await this._channel.accessibilitySnapshot({ interestingOnly: options.interestingOnly, root });
43
- return result.rootAXNode ? axNodeFromProtocol(result.rootAXNode) : null;
44
- }
45
- }
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- Accessibility
49
- });
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var accessibility_exports = {};
20
- __export(accessibility_exports, {
21
- Accessibility: () => Accessibility
22
- });
23
- module.exports = __toCommonJS(accessibility_exports);
24
- class Accessibility {
25
- constructor(getAXTree) {
26
- this._getAXTree = getAXTree;
27
- }
28
- async snapshot(options = {}) {
29
- const {
30
- interestingOnly = true,
31
- root = null
32
- } = options;
33
- const { tree, needle } = await this._getAXTree(root || void 0);
34
- if (!interestingOnly) {
35
- if (root)
36
- return needle && serializeTree(needle)[0];
37
- return serializeTree(tree)[0];
38
- }
39
- const interestingNodes = /* @__PURE__ */ new Set();
40
- collectInterestingNodes(interestingNodes, tree, false);
41
- if (root && (!needle || !interestingNodes.has(needle)))
42
- return null;
43
- return serializeTree(needle || tree, interestingNodes)[0];
44
- }
45
- }
46
- function collectInterestingNodes(collection, node, insideControl) {
47
- if (node.isInteresting(insideControl))
48
- collection.add(node);
49
- if (node.isLeafNode())
50
- return;
51
- insideControl = insideControl || node.isControl();
52
- for (const child of node.children())
53
- collectInterestingNodes(collection, child, insideControl);
54
- }
55
- function serializeTree(node, whitelistedNodes) {
56
- const children = [];
57
- for (const child of node.children())
58
- children.push(...serializeTree(child, whitelistedNodes));
59
- if (whitelistedNodes && !whitelistedNodes.has(node))
60
- return children;
61
- const serializedNode = node.serialize();
62
- if (children.length)
63
- serializedNode.children = children;
64
- return [serializedNode];
65
- }
66
- // Annotate the CommonJS export names for ESM import in node:
67
- 0 && (module.exports = {
68
- Accessibility
69
- });