puppeteer/api/index.html

29 lines
82 KiB
HTML
Raw Normal View History

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-22.3.0 docs-doc-page docs-doc-id-api/index" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">API Reference | Puppeteer</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pptr.dev/api/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:counter" content="2"><meta data-rh="true" property="og:title" content="API Reference | Puppeteer"><meta data-rh="true" name="description" content="Classes"><meta data-rh="true" property="og:description" content="Classes"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pptr.dev/api/"><link data-rh="true" rel="alternate" href="https://pptr.dev/api/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pptr.dev/api/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://DVKY664LG7-dsn.algolia.net" crossorigin="anonymous"><link rel="search" type="application/opensearchdescription+xml" title="Puppeteer" href="/opensearch.xml">
<script src="/fix-location.js"></script><link rel="stylesheet" href="/assets/css/styles.10908b84.css">
<script src="/assets/js/runtime~main.af5b7ba7.js" defer="defer"></script>
<script src="/assets/js/main.3008f87c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt="Puppeteer Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt="Puppeteer Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Puppeteer</b></a><a class="navbar__item navbar__link" href="/">Docs</a><a class="navbar__item navbar__link" href="/api/puppeteer.puppeteernode">Puppeteer API</a><a class="navbar__item navbar__link" href="/browsers-api/">@puppeteer/browsers API</a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class="navbar__link" aria-haspopup="true" aria-expanded="false" role="button" href="/">22.3.0</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/next/api/">Next</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/api/">22.3.0</a></li><li><hr class="dropdown-separator"></li><li class="dropdown-archived-versions"><b>Archived versions</b></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.2.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.2.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.1.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.1.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v22.0.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">22.0.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://github.com/puppeteer/puppeteer/blob/puppeteer-v21.11.0/docs/api/index.md" target="_blank" rel="noopener noreferrer" class="dropdown__link">21.11.0<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></l
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="classes">Classes<a href="#classes" class="hash-link" aria-label="Direct link to Classes" title="Direct link to Classes"></a></h2>
<table><thead><tr><th>Class</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.accessibility">Accessibility</a></td><td>The Accessibility class provides methods for inspecting the browser&#x27;s accessibility tree. The accessibility tree is used by assistive technology such as <a href="https://en.wikipedia.org/wiki/Screen_reader" target="_blank" rel="noopener noreferrer">screen readers</a> or <a href="https://en.wikipedia.org/wiki/Switch_access" target="_blank" rel="noopener noreferrer">switches</a>.</td></tr><tr><td><a href="/api/puppeteer.browser">Browser</a></td><td><p><a href="/api/puppeteer.browser">Browser</a> represents a browser instance that is either:</p><p>- connected to via <a href="/api/puppeteer.puppeteer.connect">Puppeteer.connect()</a> or - launched by <a href="/api/puppeteer.puppeteernode.launch">PuppeteerNode.launch()</a>.</p><p><a href="/api/puppeteer.browser">Browser</a> <a href="/api/puppeteer.eventemitter">emits</a> various events which are documented in the <a href="/api/puppeteer.browserevent">BrowserEvent</a> enum.</p></td></tr><tr><td><a href="/api/puppeteer.browsercontext">BrowserContext</a></td><td><p><a href="/api/puppeteer.browsercontext">BrowserContext</a> represents individual user contexts within a <a href="/api/puppeteer.browser">browser</a>.</p><p>When a <a href="/api/puppeteer.browser">browser</a> is launched, it has a single <a href="/api/puppeteer.browsercontext">browser context</a> by default. Others can be created using <a href="/api/puppeteer.browser.createbrowsercontext">Browser.createBrowserContext()</a>. Each context has isolated storage (cookies/localStorage/etc.)</p><p><a href="/api/puppeteer.browsercontext">BrowserContext</a> <a href="/api/puppeteer.eventemitter">emits</a> various events which are documented in the <a href="/api/puppeteer.browsercontextevent">BrowserContextEvent</a> enum.</p><p>If a <a href="/api/puppeteer.page">page</a> opens another <a href="/api/puppeteer.page">page</a>, e.g. using <code>window.open</code>, the popup will belong to the parent <a href="/api/puppeteer.page.browsercontext">page&#x27;s browser context</a>.</p></td></tr><tr><td><a href="/api/puppeteer.cdpsession">CDPSession</a></td><td>The <code>CDPSession</code> instances are used to talk raw Chrome Devtools Protocol.</td></tr><tr><td><a href="/api/puppeteer.connection">Connection</a></td><td></td></tr><tr><td><a href="/api/puppeteer.consolemessage">ConsoleMessage</a></td><td>ConsoleMessage objects are dispatched by page via the &#x27;console&#x27; event.</td></tr><tr><td><a href="/api/puppeteer.coverage">Coverage</a></td><td>The Coverage class provides methods to gather information about parts of JavaScript and CSS that were used by the page.</td></tr><tr><td><a href="/api/puppeteer.csscoverage">CSSCoverage</a></td><td></td></tr><tr><td><a href="/api/puppeteer.devicerequestprompt">DeviceRequestPrompt</a></td><td>Device request prompts let you respond to the page requesting for a device through an API like WebBluetooth.</td></tr><tr><td><a href="/api/puppeteer.devicerequestpromptdevice">DeviceRequestPromptDevice</a></td><td>Device in a request prompt.</td></tr><tr><td><a href="/api/puppeteer.dialog">Dialog</a></td><td>Dialog instances are dispatched by the <a href="/api/puppeteer.page">Page</a> via the <code>dialog</code> event.</td></tr><tr><td><a href="/api/puppeteer.elementhandle">ElementHandle</a></td><td>ElementHandle represents an in-page DOM element.</td></tr><tr><td><a href="/api/puppeteer.eventemitter">EventEmitter</a></td><td>The EventEmitter class that many Puppeteer classes extend.</td></tr><tr><td><a href="/api/puppeteer.filechooser">FileChooser</a></td><td>File choosers let you react to the page requesting for a file.</td></tr><tr><td><a href="/api/puppeteer.frame">Frame</a></td><td><p>Represents a DOM frame.</p><p>To understand frames, you can think of frames as <code>&lt;iframe&gt;</code> elements. Just like iframes, frames can be nested, and when JavaScript is executed in a frame, the JavaScript does not effect frames inside the ambient frame the Jav
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enumerations">Enumerations<a href="#enumerations" class="hash-link" aria-label="Direct link to Enumerations" title="Direct link to Enumerations"></a></h2>
<table><thead><tr><th>Enumeration</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.browsercontextevent">BrowserContextEvent</a></td><td></td></tr><tr><td><a href="/api/puppeteer.browserevent">BrowserEvent</a></td><td>All the events a <a href="/api/puppeteer.browser">browser instance</a> may emit.</td></tr><tr><td><a href="/api/puppeteer.interceptresolutionaction">InterceptResolutionAction</a></td><td></td></tr><tr><td><a href="/api/puppeteer.locatorevent">LocatorEvent</a></td><td>All the events that a locator instance may emit.</td></tr><tr><td><a href="/api/puppeteer.pageevent">PageEvent</a></td><td>All the events that a page instance may emit.</td></tr><tr><td><a href="/api/puppeteer.targettype">TargetType</a></td><td></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="functions">Functions<a href="#functions" class="hash-link" aria-label="Direct link to Functions" title="Direct link to Functions"></a></h2>
<table><thead><tr><th>Function</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.clearcustomqueryhandlers">clearCustomQueryHandlers()</a></td><td></td></tr><tr><td><a href="/api/puppeteer.connect">connect(options)</a></td><td></td></tr><tr><td><a href="/api/puppeteer.customqueryhandlernames">customQueryHandlerNames()</a></td><td></td></tr><tr><td><a href="/api/puppeteer.defaultargs">defaultArgs(options)</a></td><td></td></tr><tr><td><a href="/api/puppeteer.executablepath">executablePath(channel)</a></td><td></td></tr><tr><td><a href="/api/puppeteer.launch">launch(options)</a></td><td></td></tr><tr><td><a href="/api/puppeteer.registercustomqueryhandler">registerCustomQueryHandler(name, handler)</a></td><td></td></tr><tr><td><a href="/api/puppeteer.trimcache">trimCache()</a></td><td></td></tr><tr><td><a href="/api/puppeteer.unregistercustomqueryhandler">unregisterCustomQueryHandler(name)</a></td><td></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="interfaces">Interfaces<a href="#interfaces" class="hash-link" aria-label="Direct link to Interfaces" title="Direct link to Interfaces"></a></h2>
<table><thead><tr><th>Interface</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.actionoptions">ActionOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.autofilldata">AutofillData</a></td><td></td></tr><tr><td><a href="/api/puppeteer.boundingbox">BoundingBox</a></td><td></td></tr><tr><td><a href="/api/puppeteer.boxmodel">BoxModel</a></td><td></td></tr><tr><td><a href="/api/puppeteer.browserconnectoptions">BrowserConnectOptions</a></td><td>Generic browser options that can be passed when launching any browser or when connecting to an existing browser instance.</td></tr><tr><td><a href="/api/puppeteer.browsercontextevents">BrowserContextEvents</a></td><td></td></tr><tr><td><a href="/api/puppeteer.browsercontextoptions">BrowserContextOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.browserevents">BrowserEvents</a></td><td></td></tr><tr><td><a href="/api/puppeteer.browserlaunchargumentoptions">BrowserLaunchArgumentOptions</a></td><td>Launcher options that only apply to Chrome.</td></tr><tr><td><a href="/api/puppeteer.cdpsessionevents">CDPSessionEvents</a></td><td></td></tr><tr><td><a href="/api/puppeteer.clickoptions">ClickOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.commandoptions">CommandOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.commoneventemitter">CommonEventEmitter</a></td><td></td></tr><tr><td><a href="/api/puppeteer.configuration">Configuration</a></td><td><p>Defines options to configure Puppeteer&#x27;s behavior during installation and runtime.</p><p>See individual properties for more information.</p></td></tr><tr><td><a href="/api/puppeteer.connectiontransport">ConnectionTransport</a></td><td></td></tr><tr><td><a href="/api/puppeteer.connectoptions">ConnectOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.consolemessagelocation">ConsoleMessageLocation</a></td><td></td></tr><tr><td><a href="/api/puppeteer.continuerequestoverrides">ContinueRequestOverrides</a></td><td></td></tr><tr><td><a href="/api/puppeteer.cookie">Cookie</a></td><td>Represents a cookie object.</td></tr><tr><td><a href="/api/puppeteer.cookieparam">CookieParam</a></td><td>Cookie parameter object</td></tr><tr><td><a href="/api/puppeteer.coverageentry">CoverageEntry</a></td><td>The CoverageEntry class represents one entry of the coverage report.</td></tr><tr><td><a href="/api/puppeteer.credentials">Credentials</a></td><td></td></tr><tr><td><a href="/api/puppeteer.csscoverageoptions">CSSCoverageOptions</a></td><td>Set of configurable options for CSS coverage.</td></tr><tr><td><a href="/api/puppeteer.customqueryhandler">CustomQueryHandler</a></td><td></td></tr><tr><td><a href="/api/puppeteer.debuginfo">DebugInfo</a></td><td></td></tr><tr><td><a href="/api/puppeteer.deletecookiesrequest">DeleteCookiesRequest</a></td><td></td></tr><tr><td><a href="/api/puppeteer.device">Device</a></td><td></td></tr><tr><td><a href="/api/puppeteer.elementscreenshotoptions">ElementScreenshotOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.frameaddscripttagoptions">FrameAddScriptTagOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.frameaddstyletagoptions">FrameAddStyleTagOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.frameevents">FrameEvents</a></td><td></td></tr><tr><td><a href="/api/puppeteer.framewaitforfunctionoptions">FrameWaitForFunctionOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.geolocationoptions">GeolocationOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.gotooptions">GoToOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.interceptresolutionstate">InterceptResolutionState</a></td><td></td></tr><tr><td><a href="/api/puppeteer.internalnetworkconditions">InternalNetworkConditions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.jscoverageentry">JSCoverageEntry</a></td><td>The CoverageEntry class for JavaScript</td></tr><tr><td><a href="/api/puppeteer.jscoverageoptions">JSCoverageOptions</a></td><td>Set of configurable options for JS coverage.</td></tr><tr><td><a href="/api/puppeteer.keyb
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="namespaces">Namespaces<a href="#namespaces" class="hash-link" aria-label="Direct link to Namespaces" title="Direct link to Namespaces"></a></h2>
<table><thead><tr><th>Namespace</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.cdpsessionevent">CDPSessionEvent</a></td><td>Events that the CDPSession class emits.</td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="variables">Variables<a href="#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables"></a></h2>
<table><thead><tr><th>Variable</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.default_intercept_resolution_priority">DEFAULT_INTERCEPT_RESOLUTION_PRIORITY</a></td><td>The default cooperative request interception resolution priority</td></tr><tr><td><a href="/api/puppeteer.knowndevices">KnownDevices</a></td><td>A list of devices to be used with <a href="/api/puppeteer.page.emulate">Page.emulate()</a>.</td></tr><tr><td><a href="/api/puppeteer.mousebutton">MouseButton</a></td><td>Enum of valid mouse buttons.</td></tr><tr><td><a href="/api/puppeteer.predefinednetworkconditions">PredefinedNetworkConditions</a></td><td>A list of network conditions to be used with <a href="/api/puppeteer.page.emulatenetworkconditions">Page.emulateNetworkConditions()</a>.</td></tr><tr><td><a href="/api/puppeteer.puppeteer">puppeteer</a></td><td></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="type-aliases">Type Aliases<a href="#type-aliases" class="hash-link" aria-label="Direct link to Type Aliases" title="Direct link to Type Aliases"></a></h2>
<table><thead><tr><th>Type Alias</th><th>Description</th></tr></thead><tbody><tr><td><a href="/api/puppeteer.actionresult">ActionResult</a></td><td></td></tr><tr><td><a href="/api/puppeteer.awaitable">Awaitable</a></td><td></td></tr><tr><td><a href="/api/puppeteer.awaitableiterable">AwaitableIterable</a></td><td></td></tr><tr><td><a href="/api/puppeteer.awaitablepredicate">AwaitablePredicate</a></td><td></td></tr><tr><td><a href="/api/puppeteer.awaitedlocator">AwaitedLocator</a></td><td></td></tr><tr><td><a href="/api/puppeteer.cdpevents">CDPEvents</a></td><td></td></tr><tr><td><a href="/api/puppeteer.chromereleasechannel">ChromeReleaseChannel</a></td><td></td></tr><tr><td><a href="/api/puppeteer.consolemessagetype">ConsoleMessageType</a></td><td>The supported types for console messages.</td></tr><tr><td><a href="/api/puppeteer.cookiepriority">CookiePriority</a></td><td>Represents the cookie&#x27;s &#x27;Priority&#x27; status: <a href="https://tools.ietf.org/html/draft-west-cookie-priority-00" target="_blank" rel="noopener noreferrer">https://tools.ietf.org/html/draft-west-cookie-priority-00</a></td></tr><tr><td><a href="/api/puppeteer.cookiesamesite">CookieSameSite</a></td><td>Represents the cookie&#x27;s &#x27;SameSite&#x27; status: <a href="https://tools.ietf.org/html/draft-west-first-party-cookies" target="_blank" rel="noopener noreferrer">https://tools.ietf.org/html/draft-west-first-party-cookies</a></td></tr><tr><td><a href="/api/puppeteer.cookiesourcescheme">CookieSourceScheme</a></td><td>Represents the source scheme of the origin that originally set the cookie. A value of &quot;Unset&quot; allows protocol clients to emulate legacy cookie scope for the scheme. This is a temporary ability and it will be removed in the future.</td></tr><tr><td><a href="/api/puppeteer.elementfor">ElementFor</a></td><td></td></tr><tr><td><a href="/api/puppeteer.errorcode">ErrorCode</a></td><td></td></tr><tr><td><a href="/api/puppeteer.evaluatefunc">EvaluateFunc</a></td><td></td></tr><tr><td><a href="/api/puppeteer.evaluatefuncwith">EvaluateFuncWith</a></td><td></td></tr><tr><td><a href="/api/puppeteer.eventswithwildcard">EventsWithWildcard</a></td><td></td></tr><tr><td><a href="/api/puppeteer.eventtype">EventType</a></td><td></td></tr><tr><td><a href="/api/puppeteer.experimentsconfiguration">ExperimentsConfiguration</a></td><td><p>Defines experiment options for Puppeteer.</p><p>See individual properties for more information.</p></td></tr><tr><td><a href="/api/puppeteer.flattenhandle">FlattenHandle</a></td><td></td></tr><tr><td><a href="/api/puppeteer.handlefor">HandleFor</a></td><td></td></tr><tr><td><a href="/api/puppeteer.handleor">HandleOr</a></td><td></td></tr><tr><td><a href="/api/puppeteer.handler">Handler</a></td><td></td></tr><tr><td><a href="/api/puppeteer.innerparams">InnerParams</a></td><td></td></tr><tr><td><a href="/api/puppeteer.keyinput">KeyInput</a></td><td>All the valid keys that can be passed to functions that take user input, such as <a href="/api/puppeteer.keyboard.press">keyboard.press</a></td></tr><tr><td><a href="/api/puppeteer.keypressoptions">KeyPressOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.locatorclickoptions">LocatorClickOptions</a></td><td></td></tr><tr><td><a href="/api/puppeteer.lowercasepaperformat">LowerCasePaperFormat</a></td><td></td></tr><tr><td><a href="/api/puppeteer.mapper">Mapper</a></td><td></td></tr><tr><td><a href="/api/puppeteer.mousebutton">MouseButton</a></td><td></td></tr><tr><td><a href="/api/puppeteer.nodefor">NodeFor</a></td><td></td></tr><tr><td><a href="/api/puppeteer.paperformat">PaperFormat</a></td><td>All the valid paper format types when printing a PDF.</td></tr><tr><td><a href="/api/puppeteer.permission">Permission</a></td><td></td></tr><tr><td><a href="/api/puppeteer.predicate">Predicate</a></td><td></td></tr><tr><td><a href="/api/puppeteer.product">Product</a></td><td>Supported products.</td></tr><tr><td><a href="/api/puppeteer.protocollifecycleevent">ProtocolLifeCycleEvent</a></td><td></td></tr><tr><td><a href="/api/puppeteer.protocoltype">ProtocolType</a
</body>
</html>