[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-345":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":15,"starSnapshotCount":15,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},345,"puppeteer","puppeteer\u002Fpuppeteer","JavaScript API for Chrome and Firefox","https:\u002F\u002Fpptr.dev",null,"TypeScript",94840,9448,1208,249,0,80,326,502,449,120,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33,34],"automation","chrome","chromium","developer-tools","firefox","headless-chrome","node-module","testing","web","2026-06-17 04:00:02","# Puppeteer\n\n[![build](https:\u002F\u002Fgithub.com\u002Fpuppeteer\u002Fpuppeteer\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002Fpuppeteer\u002Fpuppeteer\u002Factions\u002Fworkflows\u002Fci.yml)\n[![npm puppeteer package](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fpuppeteer.svg)](https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fpuppeteer)\n\n\u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F10379601\u002F29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png\" height=\"200\" align=\"right\"\u002F>\n\n> Puppeteer is a JavaScript library which provides a high-level API to control\n> Chrome or Firefox over the\n> [DevTools Protocol](https:\u002F\u002Fchromedevtools.github.io\u002Fdevtools-protocol\u002F) or [WebDriver BiDi](https:\u002F\u002Fpptr.dev\u002Fwebdriver-bidi).\n> Puppeteer runs in the headless (no visible UI) by default\n\n## [Get started](https:\u002F\u002Fpptr.dev\u002Fdocs) | [API](https:\u002F\u002Fpptr.dev\u002Fapi) | [FAQ](https:\u002F\u002Fpptr.dev\u002Ffaq) | [Contributing](https:\u002F\u002Fpptr.dev\u002Fcontributing) | [Troubleshooting](https:\u002F\u002Fpptr.dev\u002Ftroubleshooting)\n\n## Installation\n\n```bash npm2yarn\nnpm i puppeteer # Downloads compatible Chrome during installation.\nnpm i puppeteer-core # Alternatively, install as a library, without downloading Chrome.\n```\n\n## MCP\n\nInstall [`chrome-devtools-mcp`](https:\u002F\u002Fgithub.com\u002FChromeDevTools\u002Fchrome-devtools-mcp),\na Puppeteer-based MCP server for browser automation and debugging.\n\nPuppeteer also supports the experimental [WebMCP](https:\u002F\u002Fpptr.dev\u002Fguides\u002Fwebmcp) API.\n\n## Example\n\n```ts\nimport puppeteer from 'puppeteer';\n\u002F\u002F Or import puppeteer from 'puppeteer-core';\n\n\u002F\u002F Launch the browser and open a new blank page.\nconst browser = await puppeteer.launch();\nconst page = await browser.newPage();\n\n\u002F\u002F Navigate the page to a URL.\nawait page.goto('https:\u002F\u002Fdeveloper.chrome.com\u002F');\n\n\u002F\u002F Set screen size.\nawait page.setViewport({width: 1080, height: 1024});\n\n\u002F\u002F Open the search menu using the keyboard.\nawait page.keyboard.press('\u002F');\n\n\u002F\u002F Type into search box using accessible input name.\nawait page.locator('::-p-aria(Search)').fill('automate beyond recorder');\n\n\u002F\u002F Wait and click on first result.\nawait page.locator('.devsite-result-item-link').click();\n\n\u002F\u002F Locate the full title with a unique string.\nconst textSelector = await page\n  .locator('::-p-text(Customize and automate)')\n  .waitHandle();\nconst fullTitle = await textSelector?.evaluate(el => el.textContent);\n\n\u002F\u002F Print the full title.\nconsole.log('The title of this blog post is \"%s\".', fullTitle);\n\nawait browser.close();\n```\n","Puppeteer 是一个用于控制 Chrome 或 Firefox 的 JavaScript 库，通过 DevTools 协议或 WebDriver BiDi 提供高级 API。它默认以无头模式运行，支持自动化测试、网页截图、生成 PDF 等功能，并且能够模拟用户操作如点击和键盘输入。Puppeteer 采用 TypeScript 编写，具有强大的异步编程能力，适用于需要浏览器自动化的各种场景，例如爬虫开发、性能监控、前端测试等。由于其丰富的功能集与良好的社区支持，Puppeteer 成为了许多开发者在处理 Web 自动化任务时的首选工具之一。",2,"2026-06-17 02:34:23","top_all"]