2022-10-24 12:22:18 +00:00
<!doctype html>
2023-08-28 13:43:32 +00:00
< html lang = "en" dir = "ltr" class = "docs-wrapper docs-doc-page docs-version-21.1.1 plugin-docs plugin-id-default docs-doc-id-guides/configuration" >
2022-10-24 12:22:18 +00:00
< head >
< meta charset = "UTF-8" >
2023-06-28 08:16:38 +00:00
< meta name = "generator" content = "Docusaurus v2.4.1" >
2023-01-11 15:09:01 +00:00
< title data-rh = "true" > Configuration | 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/guides/configuration" > < 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 = "Configuration | Puppeteer" > < meta data-rh = "true" name = "description" content = "All defaults in Puppeteer can be customized in two ways:" > < meta data-rh = "true" property = "og:description" content = "All defaults in Puppeteer can be customized in two ways:" > < link data-rh = "true" rel = "icon" href = "/img/favicon.ico" > < link data-rh = "true" rel = "canonical" href = "https://pptr.dev/guides/configuration" > < link data-rh = "true" rel = "alternate" href = "https://pptr.dev/guides/configuration" hreflang = "en" > < link data-rh = "true" rel = "alternate" href = "https://pptr.dev/guides/configuration" 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" >
2023-06-28 08:16:38 +00:00
< script src = "/fix-location.js" > < / script > < link rel = "stylesheet" href = "/assets/css/styles.bc90d5c1.css" >
2023-09-11 10:58:15 +00:00
< link rel = "preload" href = "/assets/js/runtime~main.aea1b45d.js" as = "script" >
2023-09-01 15:24:34 +00:00
< link rel = "preload" href = "/assets/js/main.4e59cfb9.js" as = "script" >
2022-10-24 12:22:18 +00:00
< / head >
< body class = "navigation-with-keyboard" >
2023-03-29 09:48:59 +00:00
< script > ! function ( ) { function t ( t ) { document . documentElement . setAttribute ( "data-theme" , t ) } var e = function ( ) { var t = null ; try { t = new URLSearchParams ( window . location . search ) . get ( "docusaurus-theme" ) } catch ( t ) { } return t } ( ) || function ( ) { var t = null ; try { t = localStorage . getItem ( "theme" ) } catch ( t ) { } return t } ( ) ; t ( null !== e ? e : "light" ) } ( ) < / script > < div id = "__docusaurus" >
2023-08-28 13:43:32 +00:00
< 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 = "themedImage_ToTc themedImage--light_HNdA" > < img src = "https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt = "Puppeteer Logo" class = "themedImage_ToTc themedImage--dark_i4oU" > < / div > < b class = "navbar__title text--truncate" > Puppeteer< / b > < / a > < a aria-current = "page" class = "navbar__item navbar__link navbar__link--active" 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 = "/" > 21.1.1< / a > < ul class = "dropdown__menu" > < li > < a class = "dropdown__link" href = "/next/guides/configuration" > Next< / a > < / li > < li > < a aria-current = "page" class = "dropdown__link dropdown__link--active" href = "/guides/configuration" > 21.1.1< / 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-v21.1.0/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 21.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-v21.0.3/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 21.0.3< 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.0.2/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 21.0.2< 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.0.1/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 21.0.1< 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.0.0/docs/api/index.md" target = "_blank" rel = "noopener noreferrer" class = "dropdown__link" > 21.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-v20.9
2023-02-23 12:41:31 +00:00
as < code > HTTPS_PROXY< / code > ).< / p > < / div > < / div > < div class = "theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9" > < div class = "admonitionHeading_tbUL" > < span class = "admonitionIcon_kALy" > < svg viewBox = "0 0 16 16" > < path fill-rule = "evenodd" d = "M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z" > < / path > < / svg > < / span > caution< / div > < div class = "admonitionContent_S0QG" > < p > Puppeteer' s configuration files and environment variables are ignored by < code > puppeteer-core< / code > .< / p > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_LWe7" id = "configuration-files" > Configuration files< a href = "#configuration-files" class = "hash-link" aria-label = "Direct link to Configuration files" title = "Direct link to Configuration files" > < / a > < / h2 > < p > Configuration files are the < strong > recommended< / strong > choice for configuring Puppeteer.
2022-10-24 12:22:18 +00:00
Puppeteer will look up the file tree for any of the following formats:< / p > < ul > < li > < code > .puppeteerrc.cjs< / code > ,< / li > < li > < code > .puppeteerrc.js< / code > ,< / li > < li > < code > .puppeteerrc< / code > (YAML/JSON),< / li > < li > < code > .puppeteerrc.json< / code > ,< / li > < li > < code > .puppeteerrc.yaml< / code > ,< / li > < li > < code > puppeteer.config.js< / code > , and< / li > < li > < code > puppeteer.config.cjs< / code > < / li > < / ul > < p > Puppeteer will also read a < code > puppeteer< / code > key from your application' s
2022-10-28 07:23:25 +00:00
< code > package.json< / code > .< / p > < p > See the < a href = "/api/puppeteer.configuration" > < code > Configuration< / code > < / a > interface for possible
options.< / p > < div class = "theme-admonition theme-admonition-caution alert alert--warning admonition_LlT9" > < div class = "admonitionHeading_tbUL" > < span class = "admonitionIcon_kALy" > < svg viewBox = "0 0 16 16" > < path fill-rule = "evenodd" d = "M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z" > < / path > < / svg > < / span > caution< / div > < div class = "admonitionContent_S0QG" > < p > After adding a configuration file, you may need to remove and reinstall
2023-02-23 12:41:31 +00:00
< code > puppeteer< / code > for it to take effect if the changes affect installation.< / p > < / div > < / div > < h3 class = "anchor anchorWithStickyNavbar_LWe7" id = "examples" > Examples< a href = "#examples" class = "hash-link" aria-label = "Direct link to Examples" title = "Direct link to Examples" > < / a > < / h3 > < h4 class = "anchor anchorWithStickyNavbar_LWe7" id = "changing-the-default-cache-directory" > Changing the default cache directory< a href = "#changing-the-default-cache-directory" class = "hash-link" aria-label = "Direct link to Changing the default cache directory" title = "Direct link to Changing the default cache directory" > < / a > < / h4 > < p > Starting in v19.0.0, Puppeteer stores browsers in < code > ~/.cache/puppeteer< / code > to
2022-10-24 12:22:18 +00:00
globally cache browsers between installation. This can cause problems if
< code > puppeteer< / code > is packed during some build step and moved to a fresh location. The
following configuration can solve this issue (reinstall < code > puppeteer< / code > to take
2023-06-28 08:16:38 +00:00
effect):< / p > < div class = "language-js codeBlockContainer_Ckt0 theme-code-block" style = "--prism-color:#393A34;--prism-background-color:#f6f8fa" > < div class = "codeBlockTitle_Ktv7" > project-directory/.puppeteerrc.cjs< / div > < div class = "codeBlockContent_biex" > < pre tabindex = "0" class = "prism-code language-js codeBlock_bY9V thin-scrollbar" > < code class = "codeBlockLines_e6Vv" > < span class = "token-line" style = "color:#393A34" > < span class = "token keyword" style = "color:#00009f" > const< / span > < span class = "token plain" > < / span > < span class = "token punctuation" style = "color:#393A34" > {< / span > < span class = "token plain" > join< / 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 function" style = "color:#d73a49" > require< / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token string" style = "color:#e3116c" > ' path' < / 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" > /**< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token comment" style = "color:#999988;font-style:italic" > * @type {import(" puppeteer" ).Configuration}< / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token comment" style = "color:#999988;font-style:italic" > */< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > module< / span > < span class = "token punctuation" style = "color:#393A34" > .< / span > < span class = "token property-access" > exports< / 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" > // Changes the cache location for Puppeteer.< / span > < span class = "token plain" > < / span > < br > < / span > < span class = "token-line" style = "color:#393A34" > < span class = "token plain" > < / span > < span class = "token literal-property property" style = "color:#36acaa" > cacheDirectory< / span > < span class = "token operator" style = "color:#393A34" > :< / span > < span class = "token plain" > < / span > < span class = "token function" style = "color:#d73a49" > join< / span > < span class = "token punctuation" style = "color:#393A34" > (< / span > < span class = "token plain" > __dirname< / span > < span class = "token punctuation" style = "color:#393A34" > ,< / span > < span class = "token plain" > < / span > < span class = "token string" style = "color:#e3116c" > ' .cache' < / span > < span class = "token punctuation" style = "color:#393A34" > ,< / 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 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 punctuation" style = "color:#393A34" > }< / span > < span class = "token punctuation" style = "color:#393A34" > ;< / span > < br > < / span > < / code > < / pre > < div class = "buttonGroup__atx" > < button type = "button" aria-label = "Copy code to clipboard" title = "Copy" class = "clean-btn" > < span class = "copyButtonIcons_eSgA" aria-hidden = "true" > < svg viewBox = "0 0 24 24" class = "copyButtonIcon_y97N" > < path fill = "currentColor" d = "M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" > < / path > < / svg > < svg viewBox = "0 0 24 24" class = "copyButtonSuccessIcon
2023-05-02 17:06:13 +00:00
about the ambient environment is needed (in this case, < code > __dirname< / code > ).< / p > < / div > < / div > < h2 class = "anchor anchorWithStickyNavbar_LWe7" id = "environment-variables" > Environment variables< a href = "#environment-variables" class = "hash-link" aria-label = "Direct link to Environment variables" title = "Direct link to Environment variables" > < / a > < / h2 > < p > Along with configuration files, Puppeteer looks for certain
2022-10-28 07:23:25 +00:00
< a href = "https://en.wikipedia.org/wiki/Environment_variable" target = "_blank" rel = "noopener noreferrer" > environment variables< / a > for
customizing behavior. Environment variables will always override configuration
file options when applicable.< / p > < p > The following options are < em > environment-only< / em > options< / p > < ul > < li > < code > HTTP_PROXY< / code > , < code > HTTPS_PROXY< / code > , < code > NO_PROXY< / code > - defines HTTP proxy settings that are
2022-10-24 12:22:18 +00:00
used to download and run the browser.< / li > < / ul > < p > All other options can be found in the documentation for the
2023-06-28 08:16:38 +00:00
< a href = "/api/puppeteer.configuration" > < code > Configuration< / code > < / a > interface.< / p > < / div > < / article > < nav class = "pagination-nav docusaurus-mt-lg" aria-label = "Docs pages" > < a class = "pagination-nav__link pagination-nav__link--prev" href = "/category/guides" > < div class = "pagination-nav__sublabel" > Previous< / div > < div class = "pagination-nav__label" > Guides< / div > < / a > < a class = "pagination-nav__link pagination-nav__link--next" href = "/guides/query-selectors" > < div class = "pagination-nav__sublabel" > Next< / div > < div class = "pagination-nav__label" > Query Selectors< / div > < / a > < / nav > < / div > < / div > < div class = "col col--3" > < div class = "tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop" > < ul class = "table-of-contents table-of-contents__left-border" > < li > < a href = "#configuration-files" class = "table-of-contents__link toc-highlight" > Configuration files< / a > < ul > < li > < a href = "#examples" class = "table-of-contents__link toc-highlight" > Examples< / a > < / li > < / ul > < / li > < li > < a href = "#environment-variables" class = "table-of-contents__link toc-highlight" > Environment variables< / a > < / li > < / ul > < / div > < / div > < / div > < / div > < / main > < / div > < / div > < footer class = "footer footer--dark" > < div class = "container container-fluid" > < div class = "row footer__links" > < div class = "col footer__col" > < div class = "footer__title" > Community< / div > < ul class = "footer__items clean-list" > < li class = "footer__item" > < a href = "https://stackoverflow.com/questions/tagged/puppeteer" target = "_blank" rel = "noopener noreferrer" class = "footer__link-item" > Stack Overflow< svg width = "13.5" height = "13.5" 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 class = "footer__item" > < a href = "https://twitter.com/chromedevtools" target = "_blank" rel = "noopener noreferrer" class = "footer__link-item" > Twitter< svg width = "13.5" height = "13.5" 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 class = "footer__item" > < a href = "https://goo.gle/devtools-youtube" target = "_blank" rel = "noopener noreferrer" class = "footer__link-item" > YouTube< svg width = "13.5" height = "13.5" 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 > < / ul > < / div > < / div > < div class = "footer__bottom text--center" > < div class = "footer__copyright" > Copyright © 2023 Google, Inc.< / div > < / div > < / div > < / footer > < / div >
2023-09-11 10:58:15 +00:00
< script src = "/assets/js/runtime~main.aea1b45d.js" > < / script >
2023-09-01 15:24:34 +00:00
< script src = "/assets/js/main.4e59cfb9.js" > < / script >
2022-10-24 12:22:18 +00:00
< / body >
< / html >