2024-04-11 20:05:00 +00:00
<!doctype html>
2024-05-16 09:04:40 +00:00
< html lang = "en" dir = "ltr" class = "docs-wrapper plugin-docs plugin-id-default docs-version-22.9.0 docs-doc-page docs-doc-id-index" data-has-hydrated = "false" >
2024-04-11 20:05:00 +00:00
< head >
< meta charset = "UTF-8" >
2024-05-06 08:01:08 +00:00
< meta name = "generator" content = "Docusaurus v3.3.2" >
2024-04-11 20:05:00 +00:00
< title data-rh = "true" > Puppeteer | 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/" > < 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 = "Puppeteer | Puppeteer" > < meta data-rh = "true" name = "description" content = "build" > < meta data-rh = "true" property = "og:description" content = "build" > < link data-rh = "true" rel = "icon" href = "/img/favicon.ico" > < link data-rh = "true" rel = "canonical" href = "https://pptr.dev/" > < link data-rh = "true" rel = "alternate" href = "https://pptr.dev/" hreflang = "en" > < link data-rh = "true" rel = "alternate" href = "https://pptr.dev/" hreflang = "x-default" > < link data-rh = "true" rel = "preconnect" href = "https://DVKY664LG7-dsn.algolia.net" crossorigin = "anonymous" > < script data-rh = "true" > function insertBanner ( ) { var n = document . createElement ( "div" ) ; n . id = "__docusaurus-base-url-issue-banner-container" ; n . innerHTML = '\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n' , document . body . prepend ( n ) ; var e = document . getElementById ( "__docusaurus-base-url-issue-banner-suggestion-container" ) , s = window . location . pathname , o = "/" === s . substr ( - 1 ) ? s : s + "/" ; e . innerHTML = o } document . addEventListener ( "DOMContentLoaded" , ( function ( ) { void 0 === window . docusaurus && insertBanner ( ) } ) ) < / script > < link rel = "search" type = "application/opensearchdescription+xml" title = "Puppeteer" href = "/opensearch.xml" >
2024-05-06 08:01:08 +00:00
< script src = "/fix-location.js" > < / script > < link rel = "stylesheet" href = "/assets/css/styles.67634aff.css" >
2024-05-21 10:43:54 +00:00
< script src = "/assets/js/runtime~main.bb72723d.js" defer = "defer" > < / script >
< script src = "/assets/js/main.8b5e440d.js" defer = "defer" > < / script >
2024-04-11 20:05:00 +00:00
< / head >
< body class = "navigation-with-keyboard" >
2024-05-16 09:04:40 +00:00
< 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_gu5v" 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 = "/category/introduction" > 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.9.0< / a > < ul class = "dropdown__menu" > < li > < a class = "dropdown__link" href = "/next/" > Next< / a > < / li > < li > < a aria-current = "page" class = "dropdown__link dropdown__link--active" href = "/" > 22.9.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.8.2/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 22.8.2< svg width = "12" height = "12" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_T11m" > < 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.8.1/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 22.8.1< svg width = "12" height = "12" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_T11m" > < 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.8.0/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 22.8.0< svg width = "12" height = "12" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_T11m" > < 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.7.1/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 22.7.1< svg width = "12" height = "12" aria-hidden = "true" viewBox = "0 0 24 24" class = "iconExternalLink_T11m" > < 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 > < /
2024-05-06 08:01:08 +00:00
< p > < a href = "https://github.com/puppeteer/puppeteer/actions/workflows/ci.yml" target = "_blank" rel = "noopener noreferrer" > < img decoding = "async" loading = "lazy" src = "https://github.com/puppeteer/puppeteer/actions/workflows/ci.yml/badge.svg?branch=main" alt = "build" class = "img_wQsy" > < / a >
< a href = "https://npmjs.org/package/puppeteer" target = "_blank" rel = "noopener noreferrer" > < img decoding = "async" loading = "lazy" src = "https://img.shields.io/npm/v/puppeteer.svg" alt = "npm puppeteer package" class = "img_wQsy" > < / a > < / p >
2024-04-11 20:05:00 +00:00
< img src = "https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" height = "200" align = "right" >
2024-04-15 07:09:35 +00:00
< blockquote >
2024-04-11 20:05:00 +00:00
< p > Puppeteer is a Node.js library which provides a high-level API to control
Chrome/Chromium over the
< a href = "https://chromedevtools.github.io/devtools-protocol/" target = "_blank" rel = "noopener noreferrer" > DevTools Protocol< / a > .
Puppeteer runs in
< a href = "https://developer.chrome.com/docs/chromium/new-headless/" target = "_blank" rel = "noopener noreferrer" > headless< / a >
mode by default, but can be configured to run in full (" headful" )
Chrome/Chromium.< / p >
2024-04-15 07:09:35 +00:00
< / blockquote >
2024-05-06 08:01:08 +00:00
< h2 class = "anchor anchorWithStickyNavbar_FNw8" id = "get-started--api--faq--contributing--troubleshooting" > < a href = "https://pptr.dev/docs" target = "_blank" rel = "noopener noreferrer" > Get started< / a > | < a href = "https://pptr.dev/api" target = "_blank" rel = "noopener noreferrer" > API< / a > | < a href = "https://pptr.dev/faq" target = "_blank" rel = "noopener noreferrer" > FAQ< / a > | < a href = "https://pptr.dev/contributing" target = "_blank" rel = "noopener noreferrer" > Contributing< / a > | < a href = "https://pptr.dev/troubleshooting" target = "_blank" rel = "noopener noreferrer" > Troubleshooting< / a > < a href = "#get-started--api--faq--contributing--troubleshooting" class = "hash-link" aria-label = "Direct link to get-started--api--faq--contributing--troubleshooting" title = "Direct link to get-started--api--faq--contributing--troubleshooting" > < / a > < / h2 >
< h2 class = "anchor anchorWithStickyNavbar_FNw8" id = "example" > Example< a href = "#example" class = "hash-link" aria-label = "Direct link to Example" title = "Direct link to Example" > < / a > < / h2 >
< div class = "language-ts codeBlockContainer_aalF theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockContent_MHx8" > < pre tabindex = "0" class = "prism-code language-ts codeBlock_zHgq thin-scrollbar" style = "color:#393A34;background-color:#f6f8fa" > < code class = "codeBlockLines_RjmQ" > < span class = "token-line" style = "color:#393A34" > < span class = "token keyword" style = "color:#00009f" > import< / span > < span class = "token plain" > puppeteer < / span > < span class = "token keyword" style = "color:#00009f" > from< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#e3116c" > ' puppeteer' < / span > < span class = "token punctuation" style = "color:#393A34" > ;< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token keyword" style = "color:#00009f" > async< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token punctuation" style = "color:#393A34" > )< / span > < span class = "token plain" > < / span > < span class = "token operator" style = "color:#393A34" > => < / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#999988;font-style:italic" > // Launch the browser and open a new blank page< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token keyword" style = "color:#00009f" > const< / span > < span class = "token plain" > browser < / span > < span class = "token operator" style = "color:#393A34" > =< / span > < span class = "token plain" > < / span > < span class = "token keyword" style = "color:#00009f" > await< / span > < span class = "token plain" > puppeteer< / span > < span class = "token punctuation" style = "color:#393A34" > .< / span > < span class = "token function" style = "color:#d73a49" > launch< / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token punctuation" style = "color:#393A34" > )< / span > < span class = "token punctuation" style = "color:#393A34" > ;< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token keyword" style = "color:#00009f" > const< / span > < span class = "token plain" > page < / span > < span class = "token operator" style = "color:#393A34" > =< / span > < span class = "token plain" > < / span > < span class = "token keyword" style = "color:#00009f" > await< / span > < span class = "token plain" > browser< / span > < span class = "token punctuation" style = "color:#393A34" > .< / span > < span class = "token function" style = "color:#d73a49" > newPage< / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token punctuation" style = "color:#393A34" > )< / span > < span class = "token punctuation" style = "color:#393A34" > ;< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" style = "display:inline-block" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token comment" style = "color:#999988;font-style:italic" > // Navigate the page to a URL< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token keyword" style = "color:#00009f" > await< / span > < span class = "token plain" > page< / span > < span class = "token punctuation" style = "color:#393A34" > .< / span > < span class = "token function" style = "color:#d73a49" > goto< / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token string" style = "color:#e3116c" > ' https://developer.chrome.com/' < / span > < span class = "token punctuation" style = "color:#393A34" > )< / span > < span class = "token
2024-04-11 20:05:00 +00:00
< / body >
< / html >