puppeteer/assets/js/1f4dd391.20c2df2a.js
release-please[bot] 2b16462081 deploy: 598b2a94bd
2024-05-15 06:17:32 +00:00

2 lines
3.6 KiB
JavaScript

/*! For license information please see 1f4dd391.20c2df2a.js.LICENSE.txt */
"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[28354],{1125:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var n=r(85893),o=r(11151);const s={},i="What is Puppeteer?",a={id:"guides/what-is-puppeteer",title:"What is Puppeteer?",description:"Puppeteer is a Node.js library which provides a high-level API to control",source:"@site/versioned_docs/version-22.8.2/guides/what-is-puppeteer.md",sourceDirName:"guides",slug:"/guides/what-is-puppeteer",permalink:"/guides/what-is-puppeteer",draft:!1,unlisted:!1,tags:[],version:"22.8.2",frontMatter:{},sidebar:"docs",previous:{title:"Introduction",permalink:"/category/introduction"},next:{title:"Installation",permalink:"/guides/installation"}},l={},c=[];function p(e){const t={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"what-is-puppeteer",children:"What is Puppeteer?"}),"\n",(0,n.jsxs)(t.p,{children:["Puppeteer is a Node.js library which provides a high-level API to control\nChrome/Chromium over the\n",(0,n.jsx)(t.a,{href:"https://chromedevtools.github.io/devtools-protocol/",children:"DevTools Protocol"}),".\nPuppeteer runs in\n",(0,n.jsx)(t.a,{href:"https://developer.chrome.com/docs/chromium/new-headless/",children:"headless"}),'\nmode by default, but can be configured to run in full ("headful")\nChrome/Chromium.']}),"\n",(0,n.jsx)(t.h1,{id:"features",children:"Features"}),"\n",(0,n.jsx)(t.p,{children:"Most things that you can do manually in the browser can be done using Puppeteer!\nHere are a few examples to get you started:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Automate form submission, UI testing, keyboard input, etc."}),"\n",(0,n.jsx)(t.li,{children:"Create an automated testing environment using the latest JavaScript and\nbrowser features."}),"\n",(0,n.jsxs)(t.li,{children:["Capture a\n",(0,n.jsx)(t.a,{href:"https://developer.chrome.com/docs/devtools/performance/reference",children:"timeline trace"}),"\nof your site to help diagnose performance issues."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://pptr.dev/guides/chrome-extensions",children:"Test Chrome Extensions"}),"."]}),"\n",(0,n.jsx)(t.li,{children:"Generate screenshots and PDFs of pages."}),"\n",(0,n.jsx)(t.li,{children:'Crawl a SPA (Single-Page Application) and generate pre-rendered content (i.e.\n"SSR" (Server-Side Rendering)).'}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},75251:(e,t,r)=>{var n=r(67294),o=Symbol.for("react.element"),s=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,r){var n,s={},c=null,p=null;for(n in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(p=t.ref),t)i.call(t,n)&&!l.hasOwnProperty(n)&&(s[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===s[n]&&(s[n]=t[n]);return{$$typeof:o,type:e,key:c,ref:p,props:s,_owner:a.current}}t.Fragment=s,t.jsx=c,t.jsxs=c},85893:(e,t,r)=>{e.exports=r(75251)},11151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>i});var n=r(67294);const o={},s=n.createContext(o);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);