شروع سریع عروسک گردانی

برای استفاده از Puppeteer در پروژه خود، ابتدا باید آن را نصب کنید.

نصب و راه اندازی

npm i puppeteer
# or "yarn add puppeteer"

وقتی Puppeteer را نصب می‌کنید، نسخه اخیر Chromium را دانلود می‌کند (~170MB Mac، ~282MB Linux،~280MB Win) که تضمین شده است با API کار کند. برای پرش از دانلود، دانلود در مسیر دیگری، یا دانلود مرورگر دیگری، به متغیرهای محیطی مراجعه کنید.

عروسک گردان

از نسخه 1.7.0، ما بسته puppeteer-core را منتشر می کنیم. این نسخه از Puppeteer به طور پیش فرض هیچ مرورگری را دانلود نمی کند.

npm i puppeteer-core
# or "yarn add puppeteer-core"

puppeteer-core نسخه سبک وزن Puppeteer برای راه اندازی یک نصب مرورگر موجود یا برای اتصال به یک راه دور در نظر گرفته شده است. مطمئن شوید که نسخه Puppeteer-core که نصب می‌کنید با مرورگری که قصد اتصال به آن را دارید، سازگار است.

نگاه کنید به عروسک گردان در مقابل عروسک گردان .

استفاده

Puppeteer آخرین نسخه تعمیر و نگهداری LTS Node را دنبال می کند.

Puppeteer احتمالا برای افرادی که از سایر چارچوب های آزمایش مرورگر استفاده می کنند آشنا است. شما یک نمونه از Browser ایجاد می‌کنید، صفحات را باز می‌کنید و سپس آنها را با API Puppeteer دستکاری می‌کنید.

یک اسکرین شات ذخیره کنید

به عنوان مثال، برای رفتن به https://example.com و ذخیره اسکرین شات به عنوان example.png ، کد زیر را در example.js ذخیره کنید.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

Puppeteer اندازه صفحه اولیه را 800×600 پیکسل تعیین می کند که اندازه اسکرین شات را مشخص می کند. اندازه صفحه را می توان با Page.setViewport() سفارشی کرد.

یک PDF ایجاد کنید

فایل را به عنوان hn.js ذخیره کنید.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {
    waitUntil: 'networkidle2',
  });
  await page.pdf({ path: 'hn.pdf', format: 'a4' });

  await browser.close();
})();

اسکریپت را در خط فرمان اجرا کنید:

node hn.js

برای اطلاعات بیشتر در مورد ایجاد pdf به Page.pdf() مراجعه کنید.

اسکریپت را در زمینه صفحه ارزیابی کنید

ذخیره فایل به عنوان get-dimensions.js :

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');

  // Get the "viewport" of the page, as reported by the page.
  const dimensions = await page.evaluate(() => {
    return {
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight,
      deviceScaleFactor: window.devicePixelRatio,
    };
  });

  console.log('Dimensions:', dimensions);

  await browser.close();
})();

اسکریپت را در خط فرمان اجرا کنید:

node get-dimensions.js

برای اطلاعات بیشتر در مورد ارزیابی و روش‌های مرتبط مانند evaluateOnNewDocument و exposeFunction به ارزیابی جاوا اسکریپت مراجعه کنید.

تنظیمات پیش فرض زمان اجرا

از حالت Headless استفاده می کند

Puppeteer Chromium را در حالت بدون سر راه اندازی می کند. برای راه‌اندازی نسخه کامل Chromium، هنگام راه‌اندازی مرورگر، گزینه headless را تنظیم کنید:

const browser = await puppeteer.launch({ headless: false }); // default is true

نسخه بسته‌شده Chromium را اجرا می‌کند

به‌طور پیش‌فرض، Puppeteer نسخه خاصی از Chromium را دانلود کرده و از آن استفاده می‌کند، بنابراین API آن تضمین می‌شود که خارج از جعبه کار کند. برای استفاده از Puppeteer با نسخه دیگری از Chrome یا Chromium، هنگام ایجاد یک نمونه Browser ، از مسیر فایل اجرایی عبور کنید:

const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' });

همچنین می توانید از Puppeteer با Firefox Nightly (پشتیبانی آزمایشی) استفاده کنید. برای اطلاعات بیشتر به Puppeteer.launch() مراجعه کنید.

برای اطلاعات بیشتر:

یک نمایه کاربر تازه ایجاد می کند

Puppeteer نمایه کاربر مرورگر خود را ایجاد می کند که در هر اجرا پاک می کند.

مراحل بعدی

،

برای استفاده از Puppeteer در پروژه خود، ابتدا باید آن را نصب کنید.

نصب و راه اندازی

npm i puppeteer
# or "yarn add puppeteer"

وقتی Puppeteer را نصب می‌کنید، نسخه اخیر Chromium را دانلود می‌کند (~170MB Mac، ~282MB Linux،~280MB Win) که تضمین شده است با API کار کند. برای پرش از دانلود، دانلود در مسیر دیگری، یا دانلود مرورگر دیگری، به متغیرهای محیطی مراجعه کنید.

عروسک گردان

از نسخه 1.7.0، ما بسته puppeteer-core را منتشر می کنیم. این نسخه از Puppeteer به طور پیش فرض هیچ مرورگری را دانلود نمی کند.

npm i puppeteer-core
# or "yarn add puppeteer-core"

puppeteer-core نسخه سبک وزن Puppeteer برای راه اندازی یک نصب مرورگر موجود یا برای اتصال به یک راه دور در نظر گرفته شده است. مطمئن شوید که نسخه Puppeteer-core که نصب می‌کنید با مرورگری که قصد اتصال به آن را دارید، سازگار است.

نگاه کنید به عروسک گردان در مقابل عروسک گردان .

استفاده

Puppeteer آخرین نسخه تعمیر و نگهداری LTS Node را دنبال می کند.

Puppeteer احتمالا برای افرادی که از سایر چارچوب های آزمایش مرورگر استفاده می کنند آشنا است. شما یک نمونه از Browser ایجاد می‌کنید، صفحات را باز می‌کنید و سپس آنها را با API Puppeteer دستکاری می‌کنید.

یک اسکرین شات ذخیره کنید

به عنوان مثال، برای رفتن به https://example.com و ذخیره اسکرین شات به عنوان example.png ، کد زیر را در example.js ذخیره کنید.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

Puppeteer اندازه صفحه اولیه را 800×600 پیکسل تعیین می کند که اندازه اسکرین شات را مشخص می کند. اندازه صفحه را می توان با Page.setViewport() سفارشی کرد.

یک PDF ایجاد کنید

فایل را به عنوان hn.js ذخیره کنید.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {
    waitUntil: 'networkidle2',
  });
  await page.pdf({ path: 'hn.pdf', format: 'a4' });

  await browser.close();
})();

اسکریپت را در خط فرمان اجرا کنید:

node hn.js

برای اطلاعات بیشتر در مورد ایجاد pdf به Page.pdf() مراجعه کنید.

اسکریپت را در زمینه صفحه ارزیابی کنید

ذخیره فایل به عنوان get-dimensions.js :

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');

  // Get the "viewport" of the page, as reported by the page.
  const dimensions = await page.evaluate(() => {
    return {
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight,
      deviceScaleFactor: window.devicePixelRatio,
    };
  });

  console.log('Dimensions:', dimensions);

  await browser.close();
})();

اسکریپت را در خط فرمان اجرا کنید:

node get-dimensions.js

برای اطلاعات بیشتر در مورد ارزیابی و روش‌های مرتبط مانند evaluateOnNewDocument و exposeFunction به ارزیابی جاوا اسکریپت مراجعه کنید.

تنظیمات پیش فرض زمان اجرا

از حالت Headless استفاده می کند

Puppeteer Chromium را در حالت بدون سر راه اندازی می کند. برای راه‌اندازی نسخه کامل Chromium، هنگام راه‌اندازی مرورگر، گزینه headless را تنظیم کنید:

const browser = await puppeteer.launch({ headless: false }); // default is true

نسخه بسته‌شده Chromium را اجرا می‌کند

به‌طور پیش‌فرض، Puppeteer نسخه خاصی از Chromium را دانلود کرده و از آن استفاده می‌کند، بنابراین API آن تضمین می‌شود که خارج از جعبه کار کند. برای استفاده از Puppeteer با نسخه دیگری از Chrome یا Chromium، هنگام ایجاد یک نمونه Browser ، از مسیر فایل اجرایی عبور کنید:

const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' });

همچنین می توانید از Puppeteer با Firefox Nightly (پشتیبانی آزمایشی) استفاده کنید. برای اطلاعات بیشتر به Puppeteer.launch() مراجعه کنید.

برای اطلاعات بیشتر:

یک نمایه کاربر تازه ایجاد می کند

Puppeteer نمایه کاربر مرورگر خود را ایجاد می کند که در هر اجرا پاک می کند.

مراحل بعدی