กลับไปหน้า Tools

GetNotes Tools

Puppeteer

Tool นี้คืออะไร

Puppeteer เป็นไลบรารี JavaScript ที่มี API ระดับสูงสำหรับควบคุมเบราว์เซอร์ Chrome หรือ Firefox โดยอัตโนมัติ เหมาะสำหรับนักพัฒนาที่ต้องการทำการทดสอบ, สร้างสคริปต์, หรือรวบรวมข้อมูลจากเว็บเพจแบบ headless.

ข้อมูลโปรเจกต์

ดาว

95.4K

Forks

9.6K

License

Apache-2.0

อัปเดต GitHub ล่าสุด

28 ก.ค. 2569

เพิ่มใน GetNotes

13 ก.ค. 2569

Repository

puppeteer/puppeteer

รูปแบบ

API

เหมาะกับงาน

Automationพัฒนา APIDeveloper Toolsทดสอบซอฟต์แวร์

เหมาะกับอาชีพ

Ecosystem

TypeScript

แปลและเรียบเรียงโดย AI

เนื้อหาฉบับภาษาไทย

ใช้อ่านเพื่อทำความเข้าใจเบื้องต้น โปรดตรวจสอบรายละเอียดสำคัญกับเอกสารต้นฉบับด้านล่าง

Puppeteer

build npm puppeteer package

Puppeteer เป็นไลบรารี JavaScript ที่มี API ระดับสูงสำหรับควบคุม Chrome หรือ Firefox ผ่าน DevTools Protocol หรือ WebDriver BiDi โดยค่าเริ่มต้น Puppeteer จะทำงานในโหมด headless (ไม่มี UI ที่มองเห็นได้)

เริ่มต้นใช้งาน | API | คำถามที่พบบ่อย | การมีส่วนร่วม | การแก้ไขปัญหา

การติดตั้ง

bash npm2yarn
npm i puppeteer # Downloads compatible Chrome during installation.
npm i puppeteer-core # Alternatively, install as a library, without downloading Chrome.

:::note

ตัวจัดการแพ็กเกจสมัยใหม่ (รวมถึง npm (ดู RFC), pnpm, Yarn, Bun และ Deno) จะบล็อกสคริปต์การติดตั้ง dependency โดยค่าเริ่มต้น หากสคริปต์การติดตั้งถูกบล็อก Puppeteer จะไม่ดาวน์โหลดเบราว์เซอร์ระหว่างการติดตั้ง ซึ่งจะนำไปสู่ข้อผิดพลาดขณะรันไทม์

คุณสามารถดาวน์โหลดเบราว์เซอร์ที่จำเป็นด้วยตนเองหลังการติดตั้งได้โดยรัน:

bash npm2yarn
npx puppeteer browsers install

อีกทางเลือกหนึ่ง คุณสามารถกำหนดค่าตัวจัดการแพ็กเกจของคุณให้อนุญาตให้สคริปต์การติดตั้งทำงานได้ (เช่น สำหรับ npm โดยการเพิ่ม "puppeteer" ไปยัง "allowScripts" ใน package.json ของคุณ)

:::

MCP

ติดตั้ง chrome-devtools-mcp ซึ่งเป็นเซิร์ฟเวอร์ MCP ที่ใช้ Puppeteer สำหรับการทำงานอัตโนมัติและการดีบักเบราว์เซอร์

Puppeteer ยังรองรับ API WebMCP แบบทดลองอีกด้วย

ตัวอย่าง

ts
import puppeteer from 'puppeteer';
// Or import puppeteer from 'puppeteer-core';

// Launch the browser and open a new blank page.
const browser = await puppeteer.launch();
const page = await browser.newPage();

// Navigate the page to a URL.
await page.goto('https://developer.chrome.com/');

// Set the screen size.
await page.setViewport({width: 1080, height: 1024});

// Open the search menu using the keyboard.
await page.keyboard.press('/');

// Type into search box using accessible input name.
await page.locator('::-p-aria(Search)').fill('automate beyond recorder');

// Wait and click on first result.
await page.locator('.devsite-result-item-link').click();

// Locate the full title with a unique string.
const textSelector = await page
  .locator('::-p-text(Customize and automate)')
  .waitHandle();
const fullTitle = await textSelector?.evaluate(el => el.textContent);

// Print the full title.
console.log('The title of this blog post is "%s".', fullTitle);

await browser.close();

เอกสารโปรเจกต์

อ่านเอกสารต้นฉบับ

README วิธีติดตั้ง วิธีใช้งาน และข้อกำหนดจาก repository ต้นฉบับ

ดูไฟล์บน GitHub

Puppeteer

build npm puppeteer package

Puppeteer is a JavaScript library which provides a high-level API to control Chrome or Firefox over the DevTools Protocol or WebDriver BiDi. Puppeteer runs in the headless (no visible UI) by default

Get started | API | FAQ | Contributing | Troubleshooting

Installation

bash npm2yarn
npm i puppeteer # Downloads compatible Chrome during installation.
npm i puppeteer-core # Alternatively, install as a library, without downloading Chrome.

:::note

Modern package managers (including npm (see the RFC), pnpm, Yarn, Bun, and Deno) block dependency install scripts by default. If the install script is blocked, Puppeteer will not download the browser during installation, leading to runtime errors.

You can manually download the required browsers after installation by running:

bash npm2yarn
npx puppeteer browsers install

Alternatively, you can configure your package manager to allow the install script to run (for example, with npm, by adding "puppeteer" to "allowScripts" in your package.json).

:::

MCP

Install chrome-devtools-mcp, a Puppeteer-based MCP server for browser automation and debugging.

Puppeteer also supports the experimental WebMCP API.

Example

ts
import puppeteer from 'puppeteer';
// Or import puppeteer from 'puppeteer-core';

// Launch the browser and open a new blank page.
const browser = await puppeteer.launch();
const page = await browser.newPage();

// Navigate the page to a URL.
await page.goto('https://developer.chrome.com/');

// Set the screen size.
await page.setViewport({width: 1080, height: 1024});

// Open the search menu using the keyboard.
await page.keyboard.press('/');

// Type into search box using accessible input name.
await page.locator('::-p-aria(Search)').fill('automate beyond recorder');

// Wait and click on first result.
await page.locator('.devsite-result-item-link').click();

// Locate the full title with a unique string.
const textSelector = await page
  .locator('::-p-text(Customize and automate)')
  .waitHandle();
const fullTitle = await textSelector?.evaluate(el => el.textContent);

// Print the full title.
console.log('The title of this blog post is "%s".', fullTitle);

await browser.close();
#automation#chrome#chromium#developer-tools#firefox#headless-chrome#node-module#testing#web