chrome-devtools-frontend 1.0.1037221 → 1.0.1039140
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.
- package/config/gni/devtools_grd_files.gni +9 -2
- package/front_end/core/common/ParsedURL.ts +1 -1
- package/front_end/core/i18n/locales/en-US.json +2 -2
- package/front_end/core/i18n/locales/en-XL.json +2 -2
- package/front_end/core/sdk/ResourceTreeModel.ts +12 -8
- package/front_end/panels/sources/NavigatorView.ts +9 -0
- package/front_end/services/puppeteer/PuppeteerConnection.ts +1 -1
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +244 -244
- package/front_end/third_party/lighthouse/locales/en-US.json +2 -2
- package/front_end/third_party/lighthouse/locales/en-XL.json +2 -2
- package/front_end/third_party/puppeteer/package/README.md +20 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js +10 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +19 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +23 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.js +35 -20
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ChromeTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +9 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +19 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts +5 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js +6 -5
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.d.ts +168 -131
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js +208 -206
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.d.ts +74 -75
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js +82 -97
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.d.ts +16 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js +17 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Frame.d.ts +634 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Frame.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Frame.js +713 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Frame.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +9 -679
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +77 -803
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +11 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +11 -10
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +34 -13
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js +35 -14
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/{DOMWorld.d.ts → IsolatedWorld.d.ts} +58 -13
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/IsolatedWorld.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/{DOMWorld.js → IsolatedWorld.js} +124 -151
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/IsolatedWorld.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +40 -58
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +53 -76
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +23 -6
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js +17 -17
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +8 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +395 -296
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +398 -313
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts +14 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js +14 -7
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts +38 -17
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +49 -31
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +7 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.d.ts +8 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.js +8 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts +1 -34
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +5 -53
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +6 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initializePuppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initializePuppeteer.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/initializePuppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/Poller.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/Poller.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/Poller.js +148 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/Poller.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js +18 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +4 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/types.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/DeferredPromise.d.ts +25 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/DeferredPromise.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/DeferredPromise.js +78 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/DeferredPromise.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js +22 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/{common → util}/assert.d.ts +0 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/assert.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/{common → util}/assert.js +0 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/assert.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/getPackageDirectory.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/getPackageDirectory.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/getPackageDirectory.js +19 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/getPackageDirectory.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +10 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +19 -6
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +23 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.js +36 -21
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ChromeTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +9 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +19 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +5 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +6 -5
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.d.ts +168 -131
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js +208 -206
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +74 -75
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +83 -98
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +16 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +17 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FirefoxTargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Frame.d.ts +634 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Frame.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Frame.js +709 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Frame.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +9 -679
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +72 -797
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +11 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +11 -10
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +34 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +35 -14
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/{DOMWorld.d.ts → IsolatedWorld.d.ts} +58 -13
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/IsolatedWorld.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/{DOMWorld.js → IsolatedWorld.js} +123 -150
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/IsolatedWorld.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +40 -58
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +54 -77
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +24 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js +17 -17
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +8 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +395 -296
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +398 -313
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +14 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +14 -7
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +38 -17
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +49 -31
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +7 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +8 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +8 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts +1 -34
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +3 -48
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initializePuppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initializePuppeteer.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/initializePuppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/Poller.d.ts +28 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/Poller.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/Poller.js +142 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/Poller.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.js +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +4 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/types.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/DeferredPromise.d.ts +25 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/DeferredPromise.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/DeferredPromise.js +73 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/DeferredPromise.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.js +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/{common → util}/assert.d.ts +0 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/assert.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/{common → util}/assert.js +0 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/assert.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/getPackageDirectory.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/getPackageDirectory.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/getPackageDirectory.js +15 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/getPackageDirectory.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +1069 -878
- package/front_end/third_party/puppeteer/package/package.json +32 -28
- package/front_end/third_party/puppeteer/package/typescript-if-required.js +1 -1
- package/front_end/third_party/puppeteer/puppeteer.ts +1 -1
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryHighlightChipList.ts +16 -6
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryInspector.ts +28 -4
- package/front_end/ui/components/linear_memory_inspector/LinearMemoryViewer.ts +15 -0
- package/front_end/ui/components/linear_memory_inspector/linearMemoryHighlightChipList.css +27 -12
- package/front_end/ui/components/linear_memory_inspector/linearMemoryViewer.css +19 -4
- package/package.json +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/assert.js.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +0 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js.map +0 -1
@@ -24,23 +24,26 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
24
24
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
25
25
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
26
26
|
};
|
27
|
-
var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_keyboard, _Page_mouse, _Page_timeoutSettings, _Page_touchscreen, _Page_accessibility, _Page_frameManager, _Page_emulationManager, _Page_tracing, _Page_pageBindings, _Page_coverage, _Page_javascriptEnabled, _Page_viewport, _Page_screenshotTaskQueue, _Page_workers,
|
27
|
+
var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_keyboard, _Page_mouse, _Page_timeoutSettings, _Page_touchscreen, _Page_accessibility, _Page_frameManager, _Page_emulationManager, _Page_tracing, _Page_pageBindings, _Page_coverage, _Page_javascriptEnabled, _Page_viewport, _Page_screenshotTaskQueue, _Page_workers, _Page_fileChooserPromises, _Page_disconnectPromise, _Page_userDragInterceptionEnabled, _Page_handlerMap, _Page_onDetachedFromTarget, _Page_onAttachedToTarget, _Page_initialize, _Page_onFileChooser, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_emitMetrics, _Page_buildMetricsObject, _Page_handleException, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage, _Page_onDialog, _Page_resetDefaultBackgroundColor, _Page_setTransparentBackgroundColor, _Page_sessionClosePromise, _Page_go, _Page_screenshotTask;
|
28
28
|
import { Accessibility } from './Accessibility.js';
|
29
|
-
import { assert } from '
|
29
|
+
import { assert } from '../util/assert.js';
|
30
30
|
import { CDPSessionEmittedEvents } from './Connection.js';
|
31
31
|
import { ConsoleMessage } from './ConsoleMessage.js';
|
32
32
|
import { Coverage } from './Coverage.js';
|
33
33
|
import { Dialog } from './Dialog.js';
|
34
|
+
import { MAIN_WORLD } from './IsolatedWorld.js';
|
34
35
|
import { EmulationManager } from './EmulationManager.js';
|
35
36
|
import { EventEmitter } from './EventEmitter.js';
|
36
37
|
import { FileChooser } from './FileChooser.js';
|
37
|
-
import { FrameManager, FrameManagerEmittedEvents
|
38
|
+
import { FrameManager, FrameManagerEmittedEvents } from './FrameManager.js';
|
38
39
|
import { Keyboard, Mouse, Touchscreen } from './Input.js';
|
39
40
|
import { NetworkManagerEmittedEvents, } from './NetworkManager.js';
|
40
41
|
import { _paperFormats } from './PDFOptions.js';
|
41
42
|
import { TimeoutSettings } from './TimeoutSettings.js';
|
42
43
|
import { Tracing } from './Tracing.js';
|
43
|
-
import { createJSHandle, debugError, evaluationString, getExceptionMessage, importFS, getReadableAsBuffer, getReadableFromProtocolStream,
|
44
|
+
import { createJSHandle, debugError, evaluationString, getExceptionMessage, importFS, getReadableAsBuffer, getReadableFromProtocolStream, isNumber, isString, pageBindingDeliverErrorString, pageBindingDeliverErrorValueString, pageBindingDeliverResultString, pageBindingInitString, releaseObject, valueFromRemoteObject, waitForEvent, waitWithTimeout, } from './util.js';
|
45
|
+
import { isErrorLike } from '../util/ErrorLike.js';
|
46
|
+
import { createDeferredPromiseWithTimer, } from '../util/DeferredPromise.js';
|
44
47
|
import { WebWorker } from './WebWorker.js';
|
45
48
|
/**
|
46
49
|
* Page provides methods to interact with a single tab or
|
@@ -55,6 +58,7 @@ import { WebWorker } from './WebWorker.js';
|
|
55
58
|
*
|
56
59
|
* @example
|
57
60
|
* This example creates a page, navigates it to a URL, and then saves a screenshot:
|
61
|
+
*
|
58
62
|
* ```ts
|
59
63
|
* const puppeteer = require('puppeteer');
|
60
64
|
*
|
@@ -72,6 +76,7 @@ import { WebWorker } from './WebWorker.js';
|
|
72
76
|
*
|
73
77
|
* @example
|
74
78
|
* This example logs a message for a single page `load` event:
|
79
|
+
*
|
75
80
|
* ```ts
|
76
81
|
* page.once('load', () => console.log('Page loaded!'));
|
77
82
|
* ```
|
@@ -113,7 +118,7 @@ export class Page extends EventEmitter {
|
|
113
118
|
_Page_viewport.set(this, void 0);
|
114
119
|
_Page_screenshotTaskQueue.set(this, void 0);
|
115
120
|
_Page_workers.set(this, new Map());
|
116
|
-
|
121
|
+
_Page_fileChooserPromises.set(this, new Set());
|
117
122
|
_Page_disconnectPromise.set(this, void 0);
|
118
123
|
_Page_userDragInterceptionEnabled.set(this, false);
|
119
124
|
_Page_handlerMap.set(this, new WeakMap());
|
@@ -129,7 +134,7 @@ export class Page extends EventEmitter {
|
|
129
134
|
this.emit("workerdestroyed" /* PageEmittedEvents.WorkerDestroyed */, worker);
|
130
135
|
});
|
131
136
|
_Page_onAttachedToTarget.set(this, async (createdTarget) => {
|
132
|
-
|
137
|
+
__classPrivateFieldGet(this, _Page_frameManager, "f").onAttachedToTarget(createdTarget);
|
133
138
|
if (createdTarget._getTargetInfo().type === 'worker') {
|
134
139
|
const session = createdTarget._session();
|
135
140
|
assert(session);
|
@@ -170,7 +175,7 @@ export class Page extends EventEmitter {
|
|
170
175
|
__classPrivateFieldGet(this, _Page_frameManager, "f").on(FrameManagerEmittedEvents.FrameNavigated, event => {
|
171
176
|
return this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, event);
|
172
177
|
});
|
173
|
-
const networkManager = __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
178
|
+
const networkManager = __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager;
|
174
179
|
networkManager.on(NetworkManagerEmittedEvents.Request, event => {
|
175
180
|
return this.emit("request" /* PageEmittedEvents.Request */, event);
|
176
181
|
});
|
@@ -186,7 +191,6 @@ export class Page extends EventEmitter {
|
|
186
191
|
networkManager.on(NetworkManagerEmittedEvents.RequestFinished, event => {
|
187
192
|
return this.emit("requestfinished" /* PageEmittedEvents.RequestFinished */, event);
|
188
193
|
});
|
189
|
-
__classPrivateFieldSet(this, _Page_fileChooserInterceptors, new Set(), "f");
|
190
194
|
client.on('Page.domContentEventFired', () => {
|
191
195
|
return this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
|
192
196
|
});
|
@@ -307,36 +311,36 @@ export class Page extends EventEmitter {
|
|
307
311
|
*
|
308
312
|
* ```ts
|
309
313
|
* const [fileChooser] = await Promise.all([
|
310
|
-
*
|
311
|
-
*
|
312
|
-
*
|
314
|
+
* page.waitForFileChooser(),
|
315
|
+
* page.click('#upload-file-button'),
|
316
|
+
* // some button that triggers file selection
|
313
317
|
* ]);
|
314
318
|
* await fileChooser.accept(['/tmp/myfile.pdf']);
|
315
319
|
* ```
|
316
320
|
*/
|
317
321
|
async waitForFileChooser(options = {}) {
|
318
|
-
if (!__classPrivateFieldGet(this,
|
322
|
+
if (!__classPrivateFieldGet(this, _Page_fileChooserPromises, "f").size) {
|
319
323
|
await __classPrivateFieldGet(this, _Page_client, "f").send('Page.setInterceptFileChooserDialog', {
|
320
324
|
enabled: true,
|
321
325
|
});
|
322
326
|
}
|
323
327
|
const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
__classPrivateFieldGet(this, _Page_fileChooserInterceptors, "f").add(callback);
|
329
|
-
return waitWithTimeout(promise, 'waiting for file chooser', timeout).catch(error => {
|
330
|
-
__classPrivateFieldGet(this, _Page_fileChooserInterceptors, "f").delete(callback);
|
328
|
+
const promise = createDeferredPromiseWithTimer(`Waiting for \`FileChooser\` failed: ${timeout}ms exceeded`);
|
329
|
+
__classPrivateFieldGet(this, _Page_fileChooserPromises, "f").add(promise);
|
330
|
+
return promise.catch(error => {
|
331
|
+
__classPrivateFieldGet(this, _Page_fileChooserPromises, "f").delete(promise);
|
331
332
|
throw error;
|
332
333
|
});
|
333
334
|
}
|
334
335
|
/**
|
335
336
|
* Sets the page's geolocation.
|
337
|
+
*
|
336
338
|
* @remarks
|
337
|
-
*
|
339
|
+
* Consider using {@link BrowserContext.overridePermissions} to grant
|
338
340
|
* permissions for the page to read its geolocation.
|
341
|
+
*
|
339
342
|
* @example
|
343
|
+
*
|
340
344
|
* ```ts
|
341
345
|
* await page.setGeolocation({latitude: 59.95, longitude: 30.31667});
|
342
346
|
* ```
|
@@ -384,6 +388,7 @@ export class Page extends EventEmitter {
|
|
384
388
|
}
|
385
389
|
/**
|
386
390
|
* @returns The page's main frame.
|
391
|
+
*
|
387
392
|
* @remarks
|
388
393
|
* Page is guaranteed to have a main frame which persists during navigations.
|
389
394
|
*/
|
@@ -412,29 +417,33 @@ export class Page extends EventEmitter {
|
|
412
417
|
return __classPrivateFieldGet(this, _Page_frameManager, "f").frames();
|
413
418
|
}
|
414
419
|
/**
|
415
|
-
* @returns all of the dedicated
|
416
|
-
*
|
417
|
-
* WebWorkers}
|
418
|
-
*
|
420
|
+
* @returns all of the dedicated {@link
|
421
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API |
|
422
|
+
* WebWorkers} associated with the page.
|
423
|
+
*
|
419
424
|
* @remarks
|
420
|
-
*
|
425
|
+
* This does not contain ServiceWorkers
|
421
426
|
*/
|
422
427
|
workers() {
|
423
428
|
return Array.from(__classPrivateFieldGet(this, _Page_workers, "f").values());
|
424
429
|
}
|
425
430
|
/**
|
426
|
-
* @param value - Whether to enable request interception.
|
427
|
-
*
|
428
|
-
* @remarks
|
429
431
|
* Activating request interception enables {@link HTTPRequest.abort},
|
430
|
-
* {@link HTTPRequest.continue} and {@link HTTPRequest.respond} methods.
|
432
|
+
* {@link HTTPRequest.continue} and {@link HTTPRequest.respond} methods. This
|
431
433
|
* provides the capability to modify network requests that are made by a page.
|
432
434
|
*
|
433
435
|
* Once request interception is enabled, every request will stall unless it's
|
434
436
|
* continued, responded or aborted; or completed using the browser cache.
|
435
437
|
*
|
438
|
+
* Enabling request interception disables page caching.
|
439
|
+
*
|
440
|
+
* See the
|
441
|
+
* {@link https://pptr.dev/next/guides/request-interception|Request interception guide}
|
442
|
+
* for more details.
|
443
|
+
*
|
436
444
|
* @example
|
437
445
|
* An example of a naïve request interceptor that aborts all image requests:
|
446
|
+
*
|
438
447
|
* ```ts
|
439
448
|
* const puppeteer = require('puppeteer');
|
440
449
|
* (async () => {
|
@@ -442,27 +451,29 @@ export class Page extends EventEmitter {
|
|
442
451
|
* const page = await browser.newPage();
|
443
452
|
* await page.setRequestInterception(true);
|
444
453
|
* page.on('request', interceptedRequest => {
|
445
|
-
* if (
|
446
|
-
*
|
454
|
+
* if (
|
455
|
+
* interceptedRequest.url().endsWith('.png') ||
|
456
|
+
* interceptedRequest.url().endsWith('.jpg')
|
457
|
+
* )
|
447
458
|
* interceptedRequest.abort();
|
448
|
-
* else
|
449
|
-
*
|
450
|
-
* });
|
459
|
+
* else interceptedRequest.continue();
|
460
|
+
* });
|
451
461
|
* await page.goto('https://example.com');
|
452
462
|
* await browser.close();
|
453
463
|
* })();
|
454
464
|
* ```
|
455
|
-
*
|
465
|
+
*
|
466
|
+
* @param value - Whether to enable request interception.
|
456
467
|
*/
|
457
468
|
async setRequestInterception(value) {
|
458
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
469
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.setRequestInterception(value);
|
459
470
|
}
|
460
471
|
/**
|
461
472
|
* @param enabled - Whether to enable drag interception.
|
462
473
|
*
|
463
474
|
* @remarks
|
464
475
|
* Activating drag interception enables the `Input.drag`,
|
465
|
-
* methods
|
476
|
+
* methods This provides the capability to capture drag events emitted
|
466
477
|
* on the page, which can then be used to simulate drag-and-drop.
|
467
478
|
*/
|
468
479
|
async setDragInterception(enabled) {
|
@@ -477,33 +488,33 @@ export class Page extends EventEmitter {
|
|
477
488
|
* (#pageemulatenetworkconditionsnetworkconditions)
|
478
489
|
*/
|
479
490
|
setOfflineMode(enabled) {
|
480
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
491
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.setOfflineMode(enabled);
|
481
492
|
}
|
482
493
|
/**
|
483
494
|
* @param networkConditions - Passing `null` disables network condition emulation.
|
484
495
|
* @example
|
496
|
+
*
|
485
497
|
* ```ts
|
486
498
|
* const puppeteer = require('puppeteer');
|
487
499
|
* const slow3G = puppeteer.networkConditions['Slow 3G'];
|
488
500
|
*
|
489
501
|
* (async () => {
|
490
|
-
*
|
491
|
-
*
|
492
|
-
*
|
493
|
-
*
|
494
|
-
*
|
495
|
-
*
|
502
|
+
* const browser = await puppeteer.launch();
|
503
|
+
* const page = await browser.newPage();
|
504
|
+
* await page.emulateNetworkConditions(slow3G);
|
505
|
+
* await page.goto('https://www.google.com');
|
506
|
+
* // other actions...
|
507
|
+
* await browser.close();
|
496
508
|
* })();
|
497
509
|
* ```
|
510
|
+
*
|
498
511
|
* @remarks
|
499
512
|
* NOTE: This does not affect WebSockets and WebRTC PeerConnections (see
|
500
513
|
* https://crbug.com/563644). To set the page offline, you can use
|
501
514
|
* [page.setOfflineMode(enabled)](#pagesetofflinemodeenabled).
|
502
515
|
*/
|
503
516
|
emulateNetworkConditions(networkConditions) {
|
504
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f")
|
505
|
-
.networkManager()
|
506
|
-
.emulateNetworkConditions(networkConditions);
|
517
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.emulateNetworkConditions(networkConditions);
|
507
518
|
}
|
508
519
|
/**
|
509
520
|
* This setting will change the default maximum navigation time for the
|
@@ -520,7 +531,7 @@ export class Page extends EventEmitter {
|
|
520
531
|
* - {@link Page.setContent | page.setContent(html,options)}
|
521
532
|
*
|
522
533
|
* - {@link Page.waitForNavigation | page.waitForNavigation(options)}
|
523
|
-
*
|
534
|
+
* @param timeout - Maximum navigation time in milliseconds.
|
524
535
|
*/
|
525
536
|
setDefaultNavigationTimeout(timeout) {
|
526
537
|
__classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
|
@@ -566,15 +577,20 @@ export class Page extends EventEmitter {
|
|
566
577
|
* recommended as they are easier to debug and use with TypeScript):
|
567
578
|
*
|
568
579
|
* @example
|
580
|
+
*
|
569
581
|
* ```ts
|
570
|
-
* const aHandle = await page.evaluateHandle('document')
|
582
|
+
* const aHandle = await page.evaluateHandle('document');
|
571
583
|
* ```
|
572
584
|
*
|
573
585
|
* @example
|
574
586
|
* {@link JSHandle} instances can be passed as arguments to the `pageFunction`:
|
587
|
+
*
|
575
588
|
* ```ts
|
576
589
|
* const aHandle = await page.evaluateHandle(() => document.body);
|
577
|
-
* const resultHandle = await page.evaluateHandle(
|
590
|
+
* const resultHandle = await page.evaluateHandle(
|
591
|
+
* body => body.innerHTML,
|
592
|
+
* aHandle
|
593
|
+
* );
|
578
594
|
* console.log(await resultHandle.jsonValue());
|
579
595
|
* await resultHandle.dispose();
|
580
596
|
* ```
|
@@ -584,14 +600,17 @@ export class Page extends EventEmitter {
|
|
584
600
|
* you instead get an {@link ElementHandle} back:
|
585
601
|
*
|
586
602
|
* @example
|
603
|
+
*
|
587
604
|
* ```ts
|
588
|
-
* const button = await page.evaluateHandle(() =>
|
605
|
+
* const button = await page.evaluateHandle(() =>
|
606
|
+
* document.querySelector('button')
|
607
|
+
* );
|
589
608
|
* // can call `click` because `button` is an `ElementHandle`
|
590
609
|
* await button.click();
|
591
610
|
* ```
|
592
611
|
*
|
593
612
|
* The TypeScript definitions assume that `evaluateHandle` returns
|
594
|
-
*
|
613
|
+
* a `JSHandle`, but if you know it's going to return an
|
595
614
|
* `ElementHandle`, pass it as the generic argument:
|
596
615
|
*
|
597
616
|
* ```ts
|
@@ -618,7 +637,7 @@ export class Page extends EventEmitter {
|
|
618
637
|
*
|
619
638
|
* ```ts
|
620
639
|
* // Create a Map object
|
621
|
-
* await page.evaluate(() => window.map = new Map());
|
640
|
+
* await page.evaluate(() => (window.map = new Map()));
|
622
641
|
* // Get a handle to the Map object prototype
|
623
642
|
* const mapPrototype = await page.evaluateHandle(() => Map.prototype);
|
624
643
|
* // Query all map instances into an array
|
@@ -628,6 +647,7 @@ export class Page extends EventEmitter {
|
|
628
647
|
* await mapInstances.dispose();
|
629
648
|
* await mapPrototype.dispose();
|
630
649
|
* ```
|
650
|
+
*
|
631
651
|
* @param prototypeHandle - a handle to the object prototype.
|
632
652
|
* @returns Promise which resolves to a handle to an array of objects with
|
633
653
|
* this prototype.
|
@@ -665,7 +685,10 @@ export class Page extends EventEmitter {
|
|
665
685
|
* ```ts
|
666
686
|
* // if you don't provide HTMLInputElement here, TS will error
|
667
687
|
* // as `value` is not on `Element`
|
668
|
-
* const searchValue = await page.$eval(
|
688
|
+
* const searchValue = await page.$eval(
|
689
|
+
* '#search',
|
690
|
+
* (el: HTMLInputElement) => el.value
|
691
|
+
* );
|
669
692
|
* ```
|
670
693
|
*
|
671
694
|
* The compiler should be able to infer the return type
|
@@ -678,7 +701,8 @@ export class Page extends EventEmitter {
|
|
678
701
|
* // The compiler can infer the return type in this case, but if it can't
|
679
702
|
* // or if you want to be more explicit, provide it as the generic type.
|
680
703
|
* const searchValue = await page.$eval<string>(
|
681
|
-
*
|
704
|
+
* '#search',
|
705
|
+
* (el: HTMLInputElement) => el.value
|
682
706
|
* );
|
683
707
|
* ```
|
684
708
|
*
|
@@ -702,7 +726,6 @@ export class Page extends EventEmitter {
|
|
702
726
|
* the page and passes the result as the first argument to the `pageFunction`.
|
703
727
|
*
|
704
728
|
* @remarks
|
705
|
-
*
|
706
729
|
* If `pageFunction` returns a promise `$$eval` will wait for the promise to
|
707
730
|
* resolve and then return its value.
|
708
731
|
*
|
@@ -714,7 +737,7 @@ export class Page extends EventEmitter {
|
|
714
737
|
*
|
715
738
|
* // get the text content of all the `.options` elements:
|
716
739
|
* const options = await page.$$eval('div > span.options', options => {
|
717
|
-
* return options.map(option => option.textContent)
|
740
|
+
* return options.map(option => option.textContent);
|
718
741
|
* });
|
719
742
|
* ```
|
720
743
|
*
|
@@ -743,16 +766,17 @@ export class Page extends EventEmitter {
|
|
743
766
|
* // The compiler can infer the return type in this case, but if it can't
|
744
767
|
* // or if you want to be more explicit, provide it as the generic type.
|
745
768
|
* const allInputValues = await page.$$eval<string[]>(
|
746
|
-
*
|
769
|
+
* 'input',
|
770
|
+
* (elements: HTMLInputElement[]) => elements.map(e => e.textContent)
|
747
771
|
* );
|
748
772
|
* ```
|
749
773
|
*
|
750
774
|
* @param selector - the
|
751
775
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | selector}
|
752
776
|
* to query for
|
753
|
-
* @param pageFunction - the function to be evaluated in the page context.
|
754
|
-
* be passed the result of
|
755
|
-
* as its first argument.
|
777
|
+
* @param pageFunction - the function to be evaluated in the page context.
|
778
|
+
* Will be passed the result of
|
779
|
+
* `Array.from(document.querySelectorAll(selector))` as its first argument.
|
756
780
|
* @param args - any additional arguments to pass through to `pageFunction`.
|
757
781
|
*
|
758
782
|
* @returns The result of calling `pageFunction`. If it returns an element it
|
@@ -766,8 +790,10 @@ export class Page extends EventEmitter {
|
|
766
790
|
* The method evaluates the XPath expression relative to the page document as
|
767
791
|
* its context node. If there are no such elements, the method resolves to an
|
768
792
|
* empty array.
|
793
|
+
*
|
769
794
|
* @remarks
|
770
795
|
* Shortcut for {@link Frame.$x | Page.mainFrame().$x(expression) }.
|
796
|
+
*
|
771
797
|
* @param expression - Expression to evaluate
|
772
798
|
*/
|
773
799
|
async $x(expression) {
|
@@ -802,6 +828,7 @@ export class Page extends EventEmitter {
|
|
802
828
|
}
|
803
829
|
/**
|
804
830
|
* @example
|
831
|
+
*
|
805
832
|
* ```ts
|
806
833
|
* await page.setCookie(cookieObject1, cookieObject2);
|
807
834
|
* ```
|
@@ -825,10 +852,13 @@ export class Page extends EventEmitter {
|
|
825
852
|
}
|
826
853
|
/**
|
827
854
|
* Adds a `<script>` tag into the page with the desired URL or content.
|
855
|
+
*
|
828
856
|
* @remarks
|
829
|
-
* Shortcut for
|
830
|
-
* @
|
831
|
-
*
|
857
|
+
* Shortcut for
|
858
|
+
* {@link Frame.addScriptTag | page.mainFrame().addScriptTag(options)}.
|
859
|
+
*
|
860
|
+
* @returns Promise which resolves to the added tag when the script's onload
|
861
|
+
* fires or when the script content was injected into frame.
|
832
862
|
*/
|
833
863
|
async addScriptTag(options) {
|
834
864
|
return this.mainFrame().addScriptTag(options);
|
@@ -843,63 +873,74 @@ export class Page extends EventEmitter {
|
|
843
873
|
return this.mainFrame().addStyleTag(options);
|
844
874
|
}
|
845
875
|
/**
|
846
|
-
* The method adds a function called `name` on the page's `window` object.
|
847
|
-
* called, the function executes `puppeteerFunction` in node.js and
|
848
|
-
* `Promise` which resolves to the return value of
|
876
|
+
* The method adds a function called `name` on the page's `window` object.
|
877
|
+
* When called, the function executes `puppeteerFunction` in node.js and
|
878
|
+
* returns a `Promise` which resolves to the return value of
|
879
|
+
* `puppeteerFunction`.
|
849
880
|
*
|
850
881
|
* If the puppeteerFunction returns a `Promise`, it will be awaited.
|
851
882
|
*
|
852
|
-
*
|
853
|
-
*
|
854
|
-
*
|
855
|
-
*
|
883
|
+
* :::note
|
884
|
+
*
|
885
|
+
* Functions installed via `page.exposeFunction` survive navigations.
|
886
|
+
*
|
887
|
+
* :::note
|
888
|
+
*
|
856
889
|
* @example
|
857
890
|
* An example of adding an `md5` function into the page:
|
891
|
+
*
|
858
892
|
* ```ts
|
859
893
|
* const puppeteer = require('puppeteer');
|
860
894
|
* const crypto = require('crypto');
|
861
895
|
*
|
862
896
|
* (async () => {
|
863
|
-
*
|
864
|
-
*
|
865
|
-
*
|
866
|
-
*
|
867
|
-
*
|
868
|
-
*
|
869
|
-
*
|
870
|
-
*
|
871
|
-
*
|
872
|
-
*
|
873
|
-
*
|
874
|
-
*
|
875
|
-
*
|
897
|
+
* const browser = await puppeteer.launch();
|
898
|
+
* const page = await browser.newPage();
|
899
|
+
* page.on('console', msg => console.log(msg.text()));
|
900
|
+
* await page.exposeFunction('md5', text =>
|
901
|
+
* crypto.createHash('md5').update(text).digest('hex')
|
902
|
+
* );
|
903
|
+
* await page.evaluate(async () => {
|
904
|
+
* // use window.md5 to compute hashes
|
905
|
+
* const myString = 'PUPPETEER';
|
906
|
+
* const myHash = await window.md5(myString);
|
907
|
+
* console.log(`md5 of ${myString} is ${myHash}`);
|
908
|
+
* });
|
909
|
+
* await browser.close();
|
876
910
|
* })();
|
877
911
|
* ```
|
912
|
+
*
|
913
|
+
* @example
|
878
914
|
* An example of adding a `window.readfile` function into the page:
|
915
|
+
*
|
879
916
|
* ```ts
|
880
917
|
* const puppeteer = require('puppeteer');
|
881
918
|
* const fs = require('fs');
|
882
919
|
*
|
883
920
|
* (async () => {
|
884
|
-
*
|
885
|
-
*
|
886
|
-
*
|
887
|
-
*
|
888
|
-
*
|
889
|
-
*
|
890
|
-
*
|
891
|
-
*
|
892
|
-
*
|
893
|
-
*
|
894
|
-
*
|
895
|
-
*
|
896
|
-
*
|
897
|
-
*
|
898
|
-
*
|
899
|
-
*
|
900
|
-
*
|
921
|
+
* const browser = await puppeteer.launch();
|
922
|
+
* const page = await browser.newPage();
|
923
|
+
* page.on('console', msg => console.log(msg.text()));
|
924
|
+
* await page.exposeFunction('readfile', async filePath => {
|
925
|
+
* return new Promise((resolve, reject) => {
|
926
|
+
* fs.readFile(filePath, 'utf8', (err, text) => {
|
927
|
+
* if (err) reject(err);
|
928
|
+
* else resolve(text);
|
929
|
+
* });
|
930
|
+
* });
|
931
|
+
* });
|
932
|
+
* await page.evaluate(async () => {
|
933
|
+
* // use window.readfile to read contents of a file
|
934
|
+
* const content = await window.readfile('/etc/hosts');
|
935
|
+
* console.log(content);
|
936
|
+
* });
|
937
|
+
* await browser.close();
|
901
938
|
* })();
|
902
939
|
* ```
|
940
|
+
*
|
941
|
+
* @param name - Name of the function on the window object
|
942
|
+
* @param pptrFunction - Callback function which will be called in Puppeteer's
|
943
|
+
* context.
|
903
944
|
*/
|
904
945
|
async exposeFunction(name, pptrFunction) {
|
905
946
|
if (__classPrivateFieldGet(this, _Page_pageBindings, "f").has(name)) {
|
@@ -926,23 +967,35 @@ export class Page extends EventEmitter {
|
|
926
967
|
}
|
927
968
|
/**
|
928
969
|
* Provide credentials for `HTTP authentication`.
|
929
|
-
*
|
970
|
+
*
|
971
|
+
* @remarks
|
972
|
+
* To disable authentication, pass `null`.
|
930
973
|
*/
|
931
974
|
async authenticate(credentials) {
|
932
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
975
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.authenticate(credentials);
|
933
976
|
}
|
934
977
|
/**
|
935
978
|
* The extra HTTP headers will be sent with every request the page initiates.
|
936
|
-
*
|
979
|
+
*
|
980
|
+
* :::tip
|
981
|
+
*
|
982
|
+
* All HTTP header names are lowercased. (HTTP headers are
|
937
983
|
* case-insensitive, so this shouldn’t impact your server code.)
|
938
|
-
*
|
984
|
+
*
|
985
|
+
* :::
|
986
|
+
*
|
987
|
+
* :::note
|
988
|
+
*
|
989
|
+
* page.setExtraHTTPHeaders does not guarantee the order of headers in
|
939
990
|
* the outgoing requests.
|
991
|
+
*
|
992
|
+
* :::
|
993
|
+
*
|
940
994
|
* @param headers - An object containing additional HTTP headers to be sent
|
941
995
|
* with every request. All header values must be strings.
|
942
|
-
* @returns
|
943
996
|
*/
|
944
997
|
async setExtraHTTPHeaders(headers) {
|
945
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
998
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.setExtraHTTPHeaders(headers);
|
946
999
|
}
|
947
1000
|
/**
|
948
1001
|
* @param userAgent - Specific user agent to use in this page
|
@@ -951,9 +1004,7 @@ export class Page extends EventEmitter {
|
|
951
1004
|
* @returns Promise which resolves when the user agent is set.
|
952
1005
|
*/
|
953
1006
|
async setUserAgent(userAgent, userAgentMetadata) {
|
954
|
-
return __classPrivateFieldGet(this, _Page_frameManager, "f")
|
955
|
-
.networkManager()
|
956
|
-
.setUserAgent(userAgent, userAgentMetadata);
|
1007
|
+
return __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.setUserAgent(userAgent, userAgentMetadata);
|
957
1008
|
}
|
958
1009
|
/**
|
959
1010
|
* @returns Object containing metrics as key/value pairs.
|
@@ -981,12 +1032,12 @@ export class Page extends EventEmitter {
|
|
981
1032
|
*
|
982
1033
|
* - `TaskDuration` : Combined duration of all tasks performed by the browser.
|
983
1034
|
*
|
984
|
-
*
|
985
1035
|
* - `JSHeapUsedSize` : Used JavaScript heap size.
|
986
1036
|
*
|
987
1037
|
* - `JSHeapTotalSize` : Total JavaScript heap size.
|
1038
|
+
*
|
988
1039
|
* @remarks
|
989
|
-
*
|
1040
|
+
* All timestamps are in monotonic time: monotonically increasing time
|
990
1041
|
* in seconds since an arbitrary point in the past.
|
991
1042
|
*/
|
992
1043
|
async metrics() {
|
@@ -1017,17 +1068,17 @@ export class Page extends EventEmitter {
|
|
1017
1068
|
* {@link Page.setDefaultTimeout} methods.
|
1018
1069
|
*
|
1019
1070
|
* - `waitUntil`: When to consider setting markup succeeded, defaults to
|
1020
|
-
*
|
1021
|
-
*
|
1022
|
-
*
|
1023
|
-
*
|
1024
|
-
*
|
1025
|
-
*
|
1026
|
-
*
|
1027
|
-
*
|
1028
|
-
*
|
1029
|
-
*
|
1030
|
-
*
|
1071
|
+
* `load`. Given an array of event strings, setting content is considered
|
1072
|
+
* to be successful after all events have been fired. Events can be
|
1073
|
+
* either:<br/>
|
1074
|
+
* - `load` : consider setting content to be finished when the `load` event
|
1075
|
+
* is fired.<br/>
|
1076
|
+
* - `domcontentloaded` : consider setting content to be finished when the
|
1077
|
+
* `DOMContentLoaded` event is fired.<br/>
|
1078
|
+
* - `networkidle0` : consider setting content to be finished when there are
|
1079
|
+
* no more than 0 network connections for at least `500` ms.<br/>
|
1080
|
+
* - `networkidle2` : consider setting content to be finished when there are
|
1081
|
+
* no more than 2 network connections for at least `500` ms.
|
1031
1082
|
*/
|
1032
1083
|
async setContent(html, options = {}) {
|
1033
1084
|
await __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame().setContent(html, options);
|
@@ -1048,22 +1099,23 @@ export class Page extends EventEmitter {
|
|
1048
1099
|
* {@link Page.setDefaultTimeout} methods.
|
1049
1100
|
*
|
1050
1101
|
* - `waitUntil`:When to consider navigation succeeded, defaults to `load`.
|
1051
|
-
*
|
1052
|
-
*
|
1053
|
-
*
|
1054
|
-
*
|
1055
|
-
*
|
1056
|
-
*
|
1057
|
-
*
|
1058
|
-
*
|
1059
|
-
*
|
1060
|
-
*
|
1102
|
+
* Given an array of event strings, navigation is considered to be
|
1103
|
+
* successful after all events have been fired. Events can be either:<br/>
|
1104
|
+
* - `load` : consider navigation to be finished when the load event is
|
1105
|
+
* fired.<br/>
|
1106
|
+
* - `domcontentloaded` : consider navigation to be finished when the
|
1107
|
+
* DOMContentLoaded event is fired.<br/>
|
1108
|
+
* - `networkidle0` : consider navigation to be finished when there are no
|
1109
|
+
* more than 0 network connections for at least `500` ms.<br/>
|
1110
|
+
* - `networkidle2` : consider navigation to be finished when there are no
|
1111
|
+
* more than 2 network connections for at least `500` ms.
|
1061
1112
|
*
|
1062
1113
|
* - `referer` : Referer header value. If provided it will take preference
|
1063
1114
|
* over the referer header value set by
|
1064
1115
|
* {@link Page.setExtraHTTPHeaders |page.setExtraHTTPHeaders()}.
|
1065
1116
|
*
|
1066
1117
|
* `page.goto` will throw an error if:
|
1118
|
+
*
|
1067
1119
|
* - there's an SSL error (e.g. in case of self-signed certificates).
|
1068
1120
|
* - target URL is invalid.
|
1069
1121
|
* - the timeout is exceeded during navigation.
|
@@ -1071,9 +1123,9 @@ export class Page extends EventEmitter {
|
|
1071
1123
|
* - the main resource failed to load.
|
1072
1124
|
*
|
1073
1125
|
* `page.goto` will not throw an error when any valid HTTP status code is
|
1074
|
-
*
|
1075
|
-
*
|
1076
|
-
*
|
1126
|
+
* returned by the remote server, including 404 "Not Found" and 500
|
1127
|
+
* "Internal Server Error". The status code for such responses can be
|
1128
|
+
* retrieved by calling response.status().
|
1077
1129
|
*
|
1078
1130
|
* NOTE: `page.goto` either throws an error or returns a main resource
|
1079
1131
|
* response. The only exceptions are navigation to about:blank or navigation
|
@@ -1103,16 +1155,16 @@ export class Page extends EventEmitter {
|
|
1103
1155
|
* {@link Page.setDefaultTimeout} methods.
|
1104
1156
|
*
|
1105
1157
|
* - `waitUntil`: When to consider navigation succeeded, defaults to `load`.
|
1106
|
-
*
|
1107
|
-
*
|
1108
|
-
*
|
1109
|
-
*
|
1110
|
-
*
|
1111
|
-
*
|
1112
|
-
*
|
1113
|
-
*
|
1114
|
-
*
|
1115
|
-
*
|
1158
|
+
* Given an array of event strings, navigation is considered to be
|
1159
|
+
* successful after all events have been fired. Events can be either:<br/>
|
1160
|
+
* - `load` : consider navigation to be finished when the load event is
|
1161
|
+
* fired.<br/>
|
1162
|
+
* - `domcontentloaded` : consider navigation to be finished when the
|
1163
|
+
* DOMContentLoaded event is fired.<br/>
|
1164
|
+
* - `networkidle0` : consider navigation to be finished when there are no
|
1165
|
+
* more than 0 network connections for at least `500` ms.<br/>
|
1166
|
+
* - `networkidle2` : consider navigation to be finished when there are no
|
1167
|
+
* more than 2 network connections for at least `500` ms.
|
1116
1168
|
*/
|
1117
1169
|
async reload(options) {
|
1118
1170
|
const result = await Promise.all([
|
@@ -1126,10 +1178,11 @@ export class Page extends EventEmitter {
|
|
1126
1178
|
* you run code that will indirectly cause the page to navigate.
|
1127
1179
|
*
|
1128
1180
|
* @example
|
1181
|
+
*
|
1129
1182
|
* ```ts
|
1130
1183
|
* const [response] = await Promise.all([
|
1131
|
-
*
|
1132
|
-
*
|
1184
|
+
* page.waitForNavigation(), // The promise resolves after navigation has finished
|
1185
|
+
* page.click('a.my-link'), // Clicking the link will indirectly cause a navigation
|
1133
1186
|
* ]);
|
1134
1187
|
* ```
|
1135
1188
|
*
|
@@ -1141,6 +1194,7 @@ export class Page extends EventEmitter {
|
|
1141
1194
|
* @param options - Navigation parameters which might have the following
|
1142
1195
|
* properties:
|
1143
1196
|
* @returns A `Promise` which resolves to the main resource response.
|
1197
|
+
*
|
1144
1198
|
* - In case of multiple redirects, the navigation will resolve with the
|
1145
1199
|
* response of the last redirect.
|
1146
1200
|
* - In case of navigation to a different anchor or navigation due to History
|
@@ -1154,29 +1208,31 @@ export class Page extends EventEmitter {
|
|
1154
1208
|
* @param options - Optional waiting parameters
|
1155
1209
|
* @returns Promise which resolves to the matched response
|
1156
1210
|
* @example
|
1211
|
+
*
|
1157
1212
|
* ```ts
|
1158
1213
|
* const firstResponse = await page.waitForResponse(
|
1159
|
-
*
|
1214
|
+
* 'https://example.com/resource'
|
1160
1215
|
* );
|
1161
1216
|
* const finalResponse = await page.waitForResponse(
|
1162
|
-
*
|
1163
|
-
*
|
1217
|
+
* response =>
|
1218
|
+
* response.url() === 'https://example.com' && response.status() === 200
|
1164
1219
|
* );
|
1165
|
-
* const finalResponse = await page.waitForResponse(async
|
1166
|
-
*
|
1220
|
+
* const finalResponse = await page.waitForResponse(async response => {
|
1221
|
+
* return (await response.text()).includes('<html>');
|
1167
1222
|
* });
|
1168
1223
|
* return finalResponse.ok();
|
1169
1224
|
* ```
|
1225
|
+
*
|
1170
1226
|
* @remarks
|
1171
1227
|
* Optional Waiting Parameters have:
|
1172
1228
|
*
|
1173
1229
|
* - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds, pass
|
1174
|
-
*
|
1175
|
-
*
|
1230
|
+
* `0` to disable the timeout. The default value can be changed by using the
|
1231
|
+
* {@link Page.setDefaultTimeout} method.
|
1176
1232
|
*/
|
1177
1233
|
async waitForRequest(urlOrPredicate, options = {}) {
|
1178
1234
|
const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
|
1179
|
-
return waitForEvent(__classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
1235
|
+
return waitForEvent(__classPrivateFieldGet(this, _Page_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Request, request => {
|
1180
1236
|
if (isString(urlOrPredicate)) {
|
1181
1237
|
return urlOrPredicate === request.url();
|
1182
1238
|
}
|
@@ -1191,29 +1247,31 @@ export class Page extends EventEmitter {
|
|
1191
1247
|
* @param options - Optional waiting parameters
|
1192
1248
|
* @returns Promise which resolves to the matched response.
|
1193
1249
|
* @example
|
1250
|
+
*
|
1194
1251
|
* ```ts
|
1195
1252
|
* const firstResponse = await page.waitForResponse(
|
1196
|
-
*
|
1253
|
+
* 'https://example.com/resource'
|
1197
1254
|
* );
|
1198
1255
|
* const finalResponse = await page.waitForResponse(
|
1199
|
-
*
|
1200
|
-
*
|
1256
|
+
* response =>
|
1257
|
+
* response.url() === 'https://example.com' && response.status() === 200
|
1201
1258
|
* );
|
1202
|
-
* const finalResponse = await page.waitForResponse(async
|
1203
|
-
*
|
1259
|
+
* const finalResponse = await page.waitForResponse(async response => {
|
1260
|
+
* return (await response.text()).includes('<html>');
|
1204
1261
|
* });
|
1205
1262
|
* return finalResponse.ok();
|
1206
1263
|
* ```
|
1264
|
+
*
|
1207
1265
|
* @remarks
|
1208
1266
|
* Optional Parameter have:
|
1209
1267
|
*
|
1210
1268
|
* - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds,
|
1211
|
-
*
|
1212
|
-
*
|
1269
|
+
* pass `0` to disable the timeout. The default value can be changed by using
|
1270
|
+
* the {@link Page.setDefaultTimeout} method.
|
1213
1271
|
*/
|
1214
1272
|
async waitForResponse(urlOrPredicate, options = {}) {
|
1215
1273
|
const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
|
1216
|
-
return waitForEvent(__classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
1274
|
+
return waitForEvent(__classPrivateFieldGet(this, _Page_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Response, async (response) => {
|
1217
1275
|
if (isString(urlOrPredicate)) {
|
1218
1276
|
return urlOrPredicate === response.url();
|
1219
1277
|
}
|
@@ -1229,7 +1287,7 @@ export class Page extends EventEmitter {
|
|
1229
1287
|
*/
|
1230
1288
|
async waitForNetworkIdle(options = {}) {
|
1231
1289
|
const { idleTime = 500, timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
|
1232
|
-
const networkManager = __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
1290
|
+
const networkManager = __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager;
|
1233
1291
|
let idleResolveCallback;
|
1234
1292
|
const idlePromise = new Promise(resolve => {
|
1235
1293
|
idleResolveCallback = resolve;
|
@@ -1281,17 +1339,19 @@ export class Page extends EventEmitter {
|
|
1281
1339
|
* @param options - Optional waiting parameters
|
1282
1340
|
* @returns Promise which resolves to the matched frame.
|
1283
1341
|
* @example
|
1342
|
+
*
|
1284
1343
|
* ```ts
|
1285
|
-
* const frame = await page.waitForFrame(async
|
1344
|
+
* const frame = await page.waitForFrame(async frame => {
|
1286
1345
|
* return frame.name() === 'Test';
|
1287
1346
|
* });
|
1288
1347
|
* ```
|
1348
|
+
*
|
1289
1349
|
* @remarks
|
1290
1350
|
* Optional Parameter have:
|
1291
1351
|
*
|
1292
1352
|
* - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds,
|
1293
|
-
*
|
1294
|
-
*
|
1353
|
+
* pass `0` to disable the timeout. The default value can be changed by using
|
1354
|
+
* the {@link Page.setDefaultTimeout} method.
|
1295
1355
|
*/
|
1296
1356
|
async waitForFrame(urlOrPredicate, options = {}) {
|
1297
1357
|
const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
|
@@ -1337,16 +1397,16 @@ export class Page extends EventEmitter {
|
|
1337
1397
|
* {@link Page.setDefaultTimeout} methods.
|
1338
1398
|
*
|
1339
1399
|
* - `waitUntil` : When to consider navigation succeeded, defaults to `load`.
|
1340
|
-
*
|
1341
|
-
*
|
1342
|
-
*
|
1343
|
-
*
|
1344
|
-
*
|
1345
|
-
*
|
1346
|
-
*
|
1347
|
-
*
|
1348
|
-
*
|
1349
|
-
*
|
1400
|
+
* Given an array of event strings, navigation is considered to be
|
1401
|
+
* successful after all events have been fired. Events can be either:<br/>
|
1402
|
+
* - `load` : consider navigation to be finished when the load event is
|
1403
|
+
* fired.<br/>
|
1404
|
+
* - `domcontentloaded` : consider navigation to be finished when the
|
1405
|
+
* DOMContentLoaded event is fired.<br/>
|
1406
|
+
* - `networkidle0` : consider navigation to be finished when there are no
|
1407
|
+
* more than 0 network connections for at least `500` ms.<br/>
|
1408
|
+
* - `networkidle2` : consider navigation to be finished when there are no
|
1409
|
+
* more than 2 network connections for at least `500` ms.
|
1350
1410
|
*/
|
1351
1411
|
async goBack(options = {}) {
|
1352
1412
|
return __classPrivateFieldGet(this, _Page_instances, "m", _Page_go).call(this, -1, options);
|
@@ -1366,16 +1426,16 @@ export class Page extends EventEmitter {
|
|
1366
1426
|
* {@link Page.setDefaultTimeout} methods.
|
1367
1427
|
*
|
1368
1428
|
* - `waitUntil`: When to consider navigation succeeded, defaults to `load`.
|
1369
|
-
*
|
1370
|
-
*
|
1371
|
-
*
|
1372
|
-
*
|
1373
|
-
*
|
1374
|
-
*
|
1375
|
-
*
|
1376
|
-
*
|
1377
|
-
*
|
1378
|
-
*
|
1429
|
+
* Given an array of event strings, navigation is considered to be
|
1430
|
+
* successful after all events have been fired. Events can be either:<br/>
|
1431
|
+
* - `load` : consider navigation to be finished when the load event is
|
1432
|
+
* fired.<br/>
|
1433
|
+
* - `domcontentloaded` : consider navigation to be finished when the
|
1434
|
+
* DOMContentLoaded event is fired.<br/>
|
1435
|
+
* - `networkidle0` : consider navigation to be finished when there are no
|
1436
|
+
* more than 0 network connections for at least `500` ms.<br/>
|
1437
|
+
* - `networkidle2` : consider navigation to be finished when there are no
|
1438
|
+
* more than 2 network connections for at least `500` ms.
|
1379
1439
|
*/
|
1380
1440
|
async goForward(options = {}) {
|
1381
1441
|
return __classPrivateFieldGet(this, _Page_instances, "m", _Page_go).call(this, +1, options);
|
@@ -1397,18 +1457,20 @@ export class Page extends EventEmitter {
|
|
1397
1457
|
* don't expect phones to change size, so you should emulate before navigating
|
1398
1458
|
* to the page.
|
1399
1459
|
* @example
|
1460
|
+
*
|
1400
1461
|
* ```ts
|
1401
1462
|
* const puppeteer = require('puppeteer');
|
1402
1463
|
* const iPhone = puppeteer.devices['iPhone 6'];
|
1403
1464
|
* (async () => {
|
1404
|
-
*
|
1405
|
-
*
|
1406
|
-
*
|
1407
|
-
*
|
1408
|
-
*
|
1409
|
-
*
|
1465
|
+
* const browser = await puppeteer.launch();
|
1466
|
+
* const page = await browser.newPage();
|
1467
|
+
* await page.emulate(iPhone);
|
1468
|
+
* await page.goto('https://www.google.com');
|
1469
|
+
* // other actions...
|
1470
|
+
* await browser.close();
|
1410
1471
|
* })();
|
1411
1472
|
* ```
|
1473
|
+
*
|
1412
1474
|
* @remarks List of all available devices is available in the source code:
|
1413
1475
|
* {@link https://github.com/puppeteer/puppeteer/blob/main/src/common/DeviceDescriptors.ts | src/common/DeviceDescriptors.ts}.
|
1414
1476
|
*/
|
@@ -1450,6 +1512,7 @@ export class Page extends EventEmitter {
|
|
1450
1512
|
* values are `screen`, `print` and `null`. Passing `null` disables CSS media
|
1451
1513
|
* emulation.
|
1452
1514
|
* @example
|
1515
|
+
*
|
1453
1516
|
* ```ts
|
1454
1517
|
* await page.evaluate(() => matchMedia('screen').matches);
|
1455
1518
|
* // → true
|
@@ -1492,45 +1555,54 @@ export class Page extends EventEmitter {
|
|
1492
1555
|
* objects, emulates CSS media features on the page. Each media feature object
|
1493
1556
|
* must have the following properties:
|
1494
1557
|
* @example
|
1558
|
+
*
|
1495
1559
|
* ```ts
|
1496
1560
|
* await page.emulateMediaFeatures([
|
1497
|
-
*
|
1561
|
+
* {name: 'prefers-color-scheme', value: 'dark'},
|
1498
1562
|
* ]);
|
1499
|
-
* await page.evaluate(
|
1563
|
+
* await page.evaluate(
|
1564
|
+
* () => matchMedia('(prefers-color-scheme: dark)').matches
|
1565
|
+
* );
|
1500
1566
|
* // → true
|
1501
|
-
* await page.evaluate(
|
1567
|
+
* await page.evaluate(
|
1568
|
+
* () => matchMedia('(prefers-color-scheme: light)').matches
|
1569
|
+
* );
|
1502
1570
|
* // → false
|
1503
1571
|
*
|
1504
1572
|
* await page.emulateMediaFeatures([
|
1505
|
-
*
|
1573
|
+
* {name: 'prefers-reduced-motion', value: 'reduce'},
|
1506
1574
|
* ]);
|
1507
1575
|
* await page.evaluate(
|
1508
|
-
*
|
1576
|
+
* () => matchMedia('(prefers-reduced-motion: reduce)').matches
|
1509
1577
|
* );
|
1510
1578
|
* // → true
|
1511
1579
|
* await page.evaluate(
|
1512
|
-
*
|
1580
|
+
* () => matchMedia('(prefers-reduced-motion: no-preference)').matches
|
1513
1581
|
* );
|
1514
1582
|
* // → false
|
1515
1583
|
*
|
1516
1584
|
* await page.emulateMediaFeatures([
|
1517
|
-
*
|
1518
|
-
*
|
1585
|
+
* {name: 'prefers-color-scheme', value: 'dark'},
|
1586
|
+
* {name: 'prefers-reduced-motion', value: 'reduce'},
|
1519
1587
|
* ]);
|
1520
|
-
* await page.evaluate(
|
1588
|
+
* await page.evaluate(
|
1589
|
+
* () => matchMedia('(prefers-color-scheme: dark)').matches
|
1590
|
+
* );
|
1521
1591
|
* // → true
|
1522
|
-
* await page.evaluate(
|
1592
|
+
* await page.evaluate(
|
1593
|
+
* () => matchMedia('(prefers-color-scheme: light)').matches
|
1594
|
+
* );
|
1523
1595
|
* // → false
|
1524
1596
|
* await page.evaluate(
|
1525
|
-
*
|
1597
|
+
* () => matchMedia('(prefers-reduced-motion: reduce)').matches
|
1526
1598
|
* );
|
1527
1599
|
* // → true
|
1528
1600
|
* await page.evaluate(
|
1529
|
-
*
|
1601
|
+
* () => matchMedia('(prefers-reduced-motion: no-preference)').matches
|
1530
1602
|
* );
|
1531
1603
|
* // → false
|
1532
1604
|
*
|
1533
|
-
* await page.emulateMediaFeatures([{
|
1605
|
+
* await page.emulateMediaFeatures([{name: 'color-gamut', value: 'p3'}]);
|
1534
1606
|
* await page.evaluate(() => matchMedia('(color-gamut: srgb)').matches);
|
1535
1607
|
* // → true
|
1536
1608
|
* await page.evaluate(() => matchMedia('(color-gamut: p3)').matches);
|
@@ -1577,6 +1649,7 @@ export class Page extends EventEmitter {
|
|
1577
1649
|
* If no arguments set, clears idle state emulation.
|
1578
1650
|
*
|
1579
1651
|
* @example
|
1652
|
+
*
|
1580
1653
|
* ```ts
|
1581
1654
|
* // set idle emulation
|
1582
1655
|
* await page.emulateIdleState({isUserActive: true, isScreenUnlocked: false});
|
@@ -1605,6 +1678,7 @@ export class Page extends EventEmitter {
|
|
1605
1678
|
* Simulates the given vision deficiency on the page.
|
1606
1679
|
*
|
1607
1680
|
* @example
|
1681
|
+
*
|
1608
1682
|
* ```ts
|
1609
1683
|
* const puppeteer = require('puppeteer');
|
1610
1684
|
*
|
@@ -1614,13 +1688,13 @@ export class Page extends EventEmitter {
|
|
1614
1688
|
* await page.goto('https://v8.dev/blog/10-years');
|
1615
1689
|
*
|
1616
1690
|
* await page.emulateVisionDeficiency('achromatopsia');
|
1617
|
-
* await page.screenshot({
|
1691
|
+
* await page.screenshot({path: 'achromatopsia.png'});
|
1618
1692
|
*
|
1619
1693
|
* await page.emulateVisionDeficiency('deuteranopia');
|
1620
|
-
* await page.screenshot({
|
1694
|
+
* await page.screenshot({path: 'deuteranopia.png'});
|
1621
1695
|
*
|
1622
1696
|
* await page.emulateVisionDeficiency('blurredVision');
|
1623
|
-
* await page.screenshot({
|
1697
|
+
* await page.screenshot({path: 'blurred-vision.png'});
|
1624
1698
|
*
|
1625
1699
|
* await browser.close();
|
1626
1700
|
* })();
|
@@ -1655,12 +1729,13 @@ export class Page extends EventEmitter {
|
|
1655
1729
|
* In the case of multiple pages in a single browser, each page can have its
|
1656
1730
|
* own viewport size.
|
1657
1731
|
* @example
|
1732
|
+
*
|
1658
1733
|
* ```ts
|
1659
1734
|
* const page = await browser.newPage();
|
1660
1735
|
* await page.setViewport({
|
1661
|
-
*
|
1662
|
-
*
|
1663
|
-
*
|
1736
|
+
* width: 640,
|
1737
|
+
* height: 480,
|
1738
|
+
* deviceScaleFactor: 1,
|
1664
1739
|
* });
|
1665
1740
|
* await page.goto('https://example.com');
|
1666
1741
|
* ```
|
@@ -1716,8 +1791,6 @@ export class Page extends EventEmitter {
|
|
1716
1791
|
return __classPrivateFieldGet(this, _Page_viewport, "f");
|
1717
1792
|
}
|
1718
1793
|
/**
|
1719
|
-
* @remarks
|
1720
|
-
*
|
1721
1794
|
* Evaluates a function in the page's context and returns the result.
|
1722
1795
|
*
|
1723
1796
|
* If the function passed to `page.evaluteHandle` returns a Promise, the
|
@@ -1736,6 +1809,7 @@ export class Page extends EventEmitter {
|
|
1736
1809
|
* recommended as they are easier to debug and use with TypeScript):
|
1737
1810
|
*
|
1738
1811
|
* @example
|
1812
|
+
*
|
1739
1813
|
* ```ts
|
1740
1814
|
* const aHandle = await page.evaluate('1 + 2');
|
1741
1815
|
* ```
|
@@ -1772,7 +1846,7 @@ export class Page extends EventEmitter {
|
|
1772
1846
|
* - whenever the page is navigated
|
1773
1847
|
*
|
1774
1848
|
* - whenever the child frame is attached or navigated. In this case, the
|
1775
|
-
*
|
1849
|
+
* function is invoked in the context of the newly attached frame.
|
1776
1850
|
*
|
1777
1851
|
* The function is invoked after the document was created but before any of
|
1778
1852
|
* its scripts were run. This is useful to amend the JavaScript environment,
|
@@ -1781,6 +1855,7 @@ export class Page extends EventEmitter {
|
|
1781
1855
|
* @param args - Arguments to pass to `pageFunction`
|
1782
1856
|
* @example
|
1783
1857
|
* An example of overriding the navigator.languages property before the page loads:
|
1858
|
+
*
|
1784
1859
|
* ```ts
|
1785
1860
|
* // preload.js
|
1786
1861
|
*
|
@@ -1809,7 +1884,7 @@ export class Page extends EventEmitter {
|
|
1809
1884
|
* @param enabled - sets the `enabled` state of cache
|
1810
1885
|
*/
|
1811
1886
|
async setCacheEnabled(enabled = true) {
|
1812
|
-
await __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager
|
1887
|
+
await __classPrivateFieldGet(this, _Page_frameManager, "f").networkManager.setCacheEnabled(enabled);
|
1813
1888
|
}
|
1814
1889
|
/**
|
1815
1890
|
* @remarks
|
@@ -1833,10 +1908,10 @@ export class Page extends EventEmitter {
|
|
1833
1908
|
*
|
1834
1909
|
* - `clip` : An object which specifies clipping region of the page.
|
1835
1910
|
* Should have the following fields:<br/>
|
1836
|
-
*
|
1837
|
-
*
|
1838
|
-
*
|
1839
|
-
*
|
1911
|
+
* - `x` : x-coordinate of top-left corner of clip area.<br/>
|
1912
|
+
* - `y` : y-coordinate of top-left corner of clip area.<br/>
|
1913
|
+
* - `width` : width of clipping area.<br/>
|
1914
|
+
* - `height` : height of clipping area.
|
1840
1915
|
*
|
1841
1916
|
* - `omitBackground` : Hides default white background and allows
|
1842
1917
|
* capturing screenshots with transparency. Defaults to `false`.
|
@@ -1932,7 +2007,6 @@ export class Page extends EventEmitter {
|
|
1932
2007
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-print-color-adjust | `-webkit-print-color-adjust`}
|
1933
2008
|
* property to force rendering of exact colors.
|
1934
2009
|
*
|
1935
|
-
*
|
1936
2010
|
* @param options - options for generating the PDF.
|
1937
2011
|
*/
|
1938
2012
|
async createPDFStream(options = {}) {
|
@@ -2033,12 +2107,14 @@ export class Page extends EventEmitter {
|
|
2033
2107
|
* there's a separate `page.waitForNavigation()` promise to be resolved, you
|
2034
2108
|
* may end up with a race condition that yields unexpected results. The
|
2035
2109
|
* correct pattern for click and wait for navigation is the following:
|
2110
|
+
*
|
2036
2111
|
* ```ts
|
2037
2112
|
* const [response] = await Promise.all([
|
2038
|
-
*
|
2039
|
-
*
|
2113
|
+
* page.waitForNavigation(waitOptions),
|
2114
|
+
* page.click(selector, clickOptions),
|
2040
2115
|
* ]);
|
2041
2116
|
* ```
|
2117
|
+
*
|
2042
2118
|
* Shortcut for {@link Frame.click | page.mainFrame().click(selector[, options]) }.
|
2043
2119
|
* @param selector - A `selector` to search for element to click. If there are
|
2044
2120
|
* multiple elements satisfying the `selector`, the first will be clicked
|
@@ -2057,7 +2133,7 @@ export class Page extends EventEmitter {
|
|
2057
2133
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | selector }
|
2058
2134
|
* of an element to focus. If there are multiple elements satisfying the
|
2059
2135
|
* selector, the first will be focused.
|
2060
|
-
* @returns
|
2136
|
+
* @returns Promise which resolves when the element matching selector is
|
2061
2137
|
* successfully focused. The promise will be rejected if there is no element
|
2062
2138
|
* matching selector.
|
2063
2139
|
* @remarks
|
@@ -2089,10 +2165,12 @@ export class Page extends EventEmitter {
|
|
2089
2165
|
* throws an error.
|
2090
2166
|
*
|
2091
2167
|
* @example
|
2168
|
+
*
|
2092
2169
|
* ```ts
|
2093
2170
|
* page.select('select#colors', 'blue'); // single selection
|
2094
2171
|
* page.select('select#colors', 'red', 'green', 'blue'); // multiple selections
|
2095
2172
|
* ```
|
2173
|
+
*
|
2096
2174
|
* @param selector - A
|
2097
2175
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | Selector}
|
2098
2176
|
* to query the page for
|
@@ -2128,12 +2206,14 @@ export class Page extends EventEmitter {
|
|
2128
2206
|
*
|
2129
2207
|
* To press a special key, like `Control` or `ArrowDown`, use {@link Keyboard.press}.
|
2130
2208
|
* @example
|
2209
|
+
*
|
2131
2210
|
* ```ts
|
2132
2211
|
* await page.type('#mytextarea', 'Hello');
|
2133
2212
|
* // Types instantly
|
2134
|
-
* await page.type('#mytextarea', 'World', {
|
2213
|
+
* await page.type('#mytextarea', 'World', {delay: 100});
|
2135
2214
|
* // Types slower, like a user
|
2136
2215
|
* ```
|
2216
|
+
*
|
2137
2217
|
* @param selector - A
|
2138
2218
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | selector}
|
2139
2219
|
* of an element to type into. If there are multiple elements satisfying the
|
@@ -2148,13 +2228,14 @@ export class Page extends EventEmitter {
|
|
2148
2228
|
return this.mainFrame().type(selector, text, options);
|
2149
2229
|
}
|
2150
2230
|
/**
|
2231
|
+
* @deprecated Use `new Promise(r => setTimeout(r, milliseconds));`.
|
2232
|
+
*
|
2151
2233
|
* Causes your script to wait for the given number of milliseconds.
|
2152
2234
|
*
|
2153
2235
|
* @remarks
|
2154
|
-
*
|
2155
2236
|
* It's generally recommended to not wait for a number of seconds, but instead
|
2156
|
-
* use {@link
|
2157
|
-
* {@link
|
2237
|
+
* use {@link Frame.waitForSelector}, {@link Frame.waitForXPath} or
|
2238
|
+
* {@link Frame.waitForFunction} to wait for exactly the conditions you want.
|
2158
2239
|
*
|
2159
2240
|
* @example
|
2160
2241
|
*
|
@@ -2176,25 +2257,27 @@ export class Page extends EventEmitter {
|
|
2176
2257
|
* function will throw.
|
2177
2258
|
*
|
2178
2259
|
* This method works across navigations:
|
2260
|
+
*
|
2179
2261
|
* ```ts
|
2180
2262
|
* const puppeteer = require('puppeteer');
|
2181
2263
|
* (async () => {
|
2182
|
-
*
|
2183
|
-
*
|
2184
|
-
*
|
2185
|
-
*
|
2186
|
-
*
|
2187
|
-
*
|
2188
|
-
*
|
2189
|
-
*
|
2190
|
-
*
|
2191
|
-
*
|
2192
|
-
*
|
2193
|
-
*
|
2194
|
-
*
|
2195
|
-
*
|
2264
|
+
* const browser = await puppeteer.launch();
|
2265
|
+
* const page = await browser.newPage();
|
2266
|
+
* let currentURL;
|
2267
|
+
* page
|
2268
|
+
* .waitForSelector('img')
|
2269
|
+
* .then(() => console.log('First URL with image: ' + currentURL));
|
2270
|
+
* for (currentURL of [
|
2271
|
+
* 'https://example.com',
|
2272
|
+
* 'https://google.com',
|
2273
|
+
* 'https://bbc.com',
|
2274
|
+
* ]) {
|
2275
|
+
* await page.goto(currentURL);
|
2276
|
+
* }
|
2277
|
+
* await browser.close();
|
2196
2278
|
* })();
|
2197
2279
|
* ```
|
2280
|
+
*
|
2198
2281
|
* @param selector - A
|
2199
2282
|
* {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | selector}
|
2200
2283
|
* of an element to wait for
|
@@ -2206,16 +2289,16 @@ export class Page extends EventEmitter {
|
|
2206
2289
|
* The optional Parameter in Arguments `options` are :
|
2207
2290
|
*
|
2208
2291
|
* - `Visible`: A boolean wait for element to be present in DOM and to be
|
2209
|
-
*
|
2210
|
-
*
|
2292
|
+
* visible, i.e. to not have `display: none` or `visibility: hidden` CSS
|
2293
|
+
* properties. Defaults to `false`.
|
2211
2294
|
*
|
2212
2295
|
* - `hidden`: Wait for element to not be found in the DOM or to be hidden,
|
2213
|
-
*
|
2214
|
-
*
|
2296
|
+
* i.e. have `display: none` or `visibility: hidden` CSS properties. Defaults to
|
2297
|
+
* `false`.
|
2215
2298
|
*
|
2216
2299
|
* - `timeout`: maximum time to wait for in milliseconds. Defaults to `30000`
|
2217
|
-
*
|
2218
|
-
*
|
2300
|
+
* (30 seconds). Pass `0` to disable timeout. The default value can be changed
|
2301
|
+
* by using the {@link Page.setDefaultTimeout} method.
|
2219
2302
|
*/
|
2220
2303
|
async waitForSelector(selector, options = {}) {
|
2221
2304
|
return await this.mainFrame().waitForSelector(selector, options);
|
@@ -2227,25 +2310,27 @@ export class Page extends EventEmitter {
|
|
2227
2310
|
* function will throw.
|
2228
2311
|
*
|
2229
2312
|
* This method works across navigation
|
2313
|
+
*
|
2230
2314
|
* ```ts
|
2231
2315
|
* const puppeteer = require('puppeteer');
|
2232
2316
|
* (async () => {
|
2233
|
-
*
|
2234
|
-
*
|
2235
|
-
*
|
2236
|
-
*
|
2237
|
-
*
|
2238
|
-
*
|
2239
|
-
*
|
2240
|
-
*
|
2241
|
-
*
|
2242
|
-
*
|
2243
|
-
*
|
2244
|
-
*
|
2245
|
-
*
|
2246
|
-
*
|
2317
|
+
* const browser = await puppeteer.launch();
|
2318
|
+
* const page = await browser.newPage();
|
2319
|
+
* let currentURL;
|
2320
|
+
* page
|
2321
|
+
* .waitForXPath('//img')
|
2322
|
+
* .then(() => console.log('First URL with image: ' + currentURL));
|
2323
|
+
* for (currentURL of [
|
2324
|
+
* 'https://example.com',
|
2325
|
+
* 'https://google.com',
|
2326
|
+
* 'https://bbc.com',
|
2327
|
+
* ]) {
|
2328
|
+
* await page.goto(currentURL);
|
2329
|
+
* }
|
2330
|
+
* await browser.close();
|
2247
2331
|
* })();
|
2248
2332
|
* ```
|
2333
|
+
*
|
2249
2334
|
* @param xpath - A
|
2250
2335
|
* {@link https://developer.mozilla.org/en-US/docs/Web/XPath | xpath} of an
|
2251
2336
|
* element to wait for
|
@@ -2257,16 +2342,16 @@ export class Page extends EventEmitter {
|
|
2257
2342
|
* The optional Argument `options` have properties:
|
2258
2343
|
*
|
2259
2344
|
* - `visible`: A boolean to wait for element to be present in DOM and to be
|
2260
|
-
*
|
2261
|
-
*
|
2345
|
+
* visible, i.e. to not have `display: none` or `visibility: hidden` CSS
|
2346
|
+
* properties. Defaults to `false`.
|
2262
2347
|
*
|
2263
2348
|
* - `hidden`: A boolean wait for element to not be found in the DOM or to be
|
2264
|
-
*
|
2265
|
-
*
|
2349
|
+
* hidden, i.e. have `display: none` or `visibility: hidden` CSS properties.
|
2350
|
+
* Defaults to `false`.
|
2266
2351
|
*
|
2267
2352
|
* - `timeout`: A number which is maximum time to wait for in milliseconds.
|
2268
|
-
*
|
2269
|
-
*
|
2353
|
+
* Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default
|
2354
|
+
* value can be changed by using the {@link Page.setDefaultTimeout} method.
|
2270
2355
|
*/
|
2271
2356
|
waitForXPath(xpath, options = {}) {
|
2272
2357
|
return this.mainFrame().waitForXPath(xpath, options);
|
@@ -2280,92 +2365,92 @@ export class Page extends EventEmitter {
|
|
2280
2365
|
* ```ts
|
2281
2366
|
* const puppeteer = require('puppeteer');
|
2282
2367
|
* (async () => {
|
2283
|
-
*
|
2284
|
-
*
|
2285
|
-
*
|
2286
|
-
*
|
2287
|
-
*
|
2288
|
-
*
|
2368
|
+
* const browser = await puppeteer.launch();
|
2369
|
+
* const page = await browser.newPage();
|
2370
|
+
* const watchDog = page.waitForFunction('window.innerWidth < 100');
|
2371
|
+
* await page.setViewport({width: 50, height: 50});
|
2372
|
+
* await watchDog;
|
2373
|
+
* await browser.close();
|
2289
2374
|
* })();
|
2290
2375
|
* ```
|
2291
2376
|
*
|
2292
2377
|
* @example
|
2293
2378
|
* To pass arguments from node.js to the predicate of
|
2294
2379
|
* {@link Page.waitForFunction} function:
|
2380
|
+
*
|
2295
2381
|
* ```ts
|
2296
2382
|
* const selector = '.foo';
|
2297
2383
|
* await page.waitForFunction(
|
2298
|
-
*
|
2299
|
-
*
|
2300
|
-
*
|
2384
|
+
* selector => !!document.querySelector(selector),
|
2385
|
+
* {},
|
2386
|
+
* selector
|
2301
2387
|
* );
|
2302
2388
|
* ```
|
2303
2389
|
*
|
2304
2390
|
* @example
|
2305
2391
|
* The predicate of {@link Page.waitForFunction} can be asynchronous too:
|
2392
|
+
*
|
2306
2393
|
* ```ts
|
2307
2394
|
* const username = 'github-username';
|
2308
2395
|
* await page.waitForFunction(
|
2309
|
-
*
|
2310
|
-
*
|
2311
|
-
*
|
2312
|
-
*
|
2313
|
-
*
|
2314
|
-
*
|
2315
|
-
*
|
2316
|
-
*
|
2317
|
-
*
|
2318
|
-
*
|
2319
|
-
*
|
2320
|
-
*
|
2321
|
-
*
|
2322
|
-
*
|
2396
|
+
* async username => {
|
2397
|
+
* const githubResponse = await fetch(
|
2398
|
+
* `https://api.github.com/users/${username}`
|
2399
|
+
* );
|
2400
|
+
* const githubUser = await githubResponse.json();
|
2401
|
+
* // show the avatar
|
2402
|
+
* const img = document.createElement('img');
|
2403
|
+
* img.src = githubUser.avatar_url;
|
2404
|
+
* // wait 3 seconds
|
2405
|
+
* await new Promise((resolve, reject) => setTimeout(resolve, 3000));
|
2406
|
+
* img.remove();
|
2407
|
+
* },
|
2408
|
+
* {},
|
2409
|
+
* username
|
2323
2410
|
* );
|
2324
2411
|
* ```
|
2325
2412
|
*
|
2326
2413
|
* @param pageFunction - Function to be evaluated in browser context
|
2327
2414
|
* @param options - Optional waiting parameters
|
2415
|
+
*
|
2328
2416
|
* - `polling` - An interval at which the `pageFunction` is executed, defaults
|
2329
2417
|
* to `raf`. If `polling` is a number, then it is treated as an interval in
|
2330
2418
|
* milliseconds at which the function would be executed. If polling is a
|
2331
2419
|
* string, then it can be one of the following values:
|
2332
|
-
*
|
2333
|
-
*
|
2334
|
-
*
|
2335
|
-
*
|
2420
|
+
* - `raf` - to constantly execute `pageFunction` in
|
2421
|
+
* `requestAnimationFrame` callback. This is the tightest polling mode
|
2422
|
+
* which is suitable to observe styling changes.
|
2423
|
+
* - `mutation`- to execute pageFunction on every DOM mutation.
|
2336
2424
|
* - `timeout` - maximum time to wait for in milliseconds. Defaults to `30000`
|
2337
2425
|
* (30 seconds). Pass `0` to disable timeout. The default value can be
|
2338
2426
|
* changed by using the {@link Page.setDefaultTimeout} method.
|
2339
|
-
*
|
2340
|
-
*
|
2341
|
-
*
|
2427
|
+
* @param args - Arguments to pass to `pageFunction`
|
2428
|
+
* @returns A `Promise` which resolves to a JSHandle/ElementHandle of the the
|
2429
|
+
* `pageFunction`'s return value.
|
2342
2430
|
*/
|
2343
2431
|
waitForFunction(pageFunction, options = {}, ...args) {
|
2344
2432
|
return this.mainFrame().waitForFunction(pageFunction, options, ...args);
|
2345
2433
|
}
|
2346
2434
|
}
|
2347
|
-
_Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_keyboard = new WeakMap(), _Page_mouse = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_touchscreen = new WeakMap(), _Page_accessibility = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_emulationManager = new WeakMap(), _Page_tracing = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_coverage = new WeakMap(), _Page_javascriptEnabled = new WeakMap(), _Page_viewport = new WeakMap(), _Page_screenshotTaskQueue = new WeakMap(), _Page_workers = new WeakMap(),
|
2435
|
+
_Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_keyboard = new WeakMap(), _Page_mouse = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_touchscreen = new WeakMap(), _Page_accessibility = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_emulationManager = new WeakMap(), _Page_tracing = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_coverage = new WeakMap(), _Page_javascriptEnabled = new WeakMap(), _Page_viewport = new WeakMap(), _Page_screenshotTaskQueue = new WeakMap(), _Page_workers = new WeakMap(), _Page_fileChooserPromises = new WeakMap(), _Page_disconnectPromise = new WeakMap(), _Page_userDragInterceptionEnabled = new WeakMap(), _Page_handlerMap = new WeakMap(), _Page_onDetachedFromTarget = new WeakMap(), _Page_onAttachedToTarget = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
|
2348
2436
|
await Promise.all([
|
2349
2437
|
__classPrivateFieldGet(this, _Page_frameManager, "f").initialize(__classPrivateFieldGet(this, _Page_target, "f")._targetId),
|
2350
2438
|
__classPrivateFieldGet(this, _Page_client, "f").send('Performance.enable'),
|
2351
2439
|
__classPrivateFieldGet(this, _Page_client, "f").send('Log.enable'),
|
2352
2440
|
]);
|
2353
2441
|
}, _Page_onFileChooser = async function _Page_onFileChooser(event) {
|
2354
|
-
if (!__classPrivateFieldGet(this,
|
2442
|
+
if (!__classPrivateFieldGet(this, _Page_fileChooserPromises, "f").size) {
|
2355
2443
|
return;
|
2356
2444
|
}
|
2357
2445
|
const frame = __classPrivateFieldGet(this, _Page_frameManager, "f").frame(event.frameId);
|
2358
|
-
assert(frame);
|
2359
|
-
|
2360
|
-
const
|
2361
|
-
const
|
2362
|
-
__classPrivateFieldGet(this,
|
2363
|
-
|
2364
|
-
|
2365
|
-
|
2366
|
-
for (const interceptor of interceptors) {
|
2367
|
-
interceptor.call(undefined, fileChooser);
|
2368
|
-
}
|
2446
|
+
assert(frame, 'This should never happen.');
|
2447
|
+
// This is guaranteed to be an HTMLInputElement handle by the event.
|
2448
|
+
const handle = (await frame.worlds[MAIN_WORLD].adoptBackendNode(event.backendNodeId));
|
2449
|
+
const fileChooser = new FileChooser(handle, event);
|
2450
|
+
for (const promise of __classPrivateFieldGet(this, _Page_fileChooserPromises, "f")) {
|
2451
|
+
promise.resolve(fileChooser);
|
2452
|
+
}
|
2453
|
+
__classPrivateFieldGet(this, _Page_fileChooserPromises, "f").clear();
|
2369
2454
|
}, _Page_onTargetCrashed = function _Page_onTargetCrashed() {
|
2370
2455
|
this.emit('error', new Error('Page crashed!'));
|
2371
2456
|
}, _Page_onLogEntryAdded = function _Page_onLogEntryAdded(event) {
|
@@ -2462,7 +2547,7 @@ _Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new W
|
|
2462
2547
|
}
|
2463
2548
|
const textTokens = [];
|
2464
2549
|
for (const arg of args) {
|
2465
|
-
const remoteObject = arg.
|
2550
|
+
const remoteObject = arg.remoteObject();
|
2466
2551
|
if (remoteObject.objectId) {
|
2467
2552
|
textTokens.push(arg.toString());
|
2468
2553
|
}
|