Rumah >hujung hadapan web >tutorial js >Bermula dengan dalang

Bermula dengan dalang

Lisa Kudrow
Lisa Kudrowasal
2025-02-10 16:06:12122semak imbas

dalang: perpustakaan node.js untuk mengautomasikan krom/kromium

Puppeteer, perpustakaan nod yang dibangunkan oleh pasukan Google Chrome, menawarkan API peringkat tinggi untuk mengawal Chrome atau Chromium melalui Protokol Devtools. Alat yang berkuasa ini memudahkan tugas seperti mengikis web, menjana tangkapan skrin laman web dan PDF, mengautomasikan penyerahan borang, dan menjalankan analisis prestasi.

Getting Started with Puppeteer

Bermula:

Untuk menggunakan dalang, anda memerlukan kebiasaan dengan JavaScript (ES6), Node.js (versi terkini disyorkan), dan benang (digunakan dalam tutorial ini). Pemasangan adalah mudah:

. Perintah ini memuat turun contoh kromium yang dibundel; Untuk pemasangan yang lebih ringan (memerlukan penyemak imbas yang sedia ada), gunakan yarn add puppeteer. Perhatikan bahawa yarn add puppeteer-core memerlukan nod v6.4.0 atau lebih tinggi, sambil menggunakan ciri -ciri async/menunggu memerlukan nod v7.6.0. puppeteer-core

Keupayaan utama:

Puppeteer menyelaraskan pelbagai tugas automasi web:

  • mengikis web: Ekstrak data dari laman web dengan cekap.
  • screenshot & pdf generasi: Buat imej berkualiti tinggi dan PDF halaman web, termasuk SVG dan elemen kanvas.
  • spa merangkak: navigasi dan berinteraksi dengan aplikasi satu halaman (SPA).
  • borang automasi: Automatikkan pengisian borang dan penyerahan.
  • Analisis prestasi: menganalisis metrik prestasi laman web.
  • ujian UI: Simulasi interaksi pengguna untuk tujuan ujian (serupa dengan Cypress).
  • Ujian sambungan krom: Uji fungsi sambungan krom.
Puppeteer memudahkan interaksi penyemak imbas kompleks, menstrukturkan butiran peringkat rendah berbanding dengan alternatif seperti selenium atau phantomjs yang dikurangkan sekarang. Penyelenggaraan aktifnya memastikan keserasian dengan ciri ECMAScript terkini.

Contoh praktikal:

Contoh berikut menunjukkan kemudahan penggunaan dalang:

1. Menjana tangkapan skrin:

Kod di bawah menghasilkan tangkapan skrin Unsplash:

<code class="language-javascript">const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setViewport({ width: 1920, height: 1080 });
  await page.goto('https://unsplash.com');
  await page.screenshot({ path: 'unsplash.png' });
  await browser.close();
})();</code>

Getting Started with Puppeteer

2. Mewujudkan PDF:

Coretan ini menghasilkan PDF berita penggodam:

<code class="language-javascript">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();
})();</code>
3. Log masuk Facebook (Headless: False for Visibility):

Contoh ini menunjukkan log masuk automatik (ganti ruang letak dengan kelayakan anda):

<code class="language-javascript">const puppeteer = require('puppeteer');

const EMAIL = 'YOUR_EMAIL';
const PASSWORD = 'YOUR_PASSWORD';

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://facebook.com', { waitUntil: 'networkidle2' });
  // ... (Selectors and input/click actions for login) ...
  await browser.close();
})();</code>

Getting Started with Puppeteer Kesimpulan:

Puppeteer adalah alat serba boleh untuk mengautomasikan tugas penyemak imbas. API intuitif dan pembangunan aktif menjadikannya pilihan yang sangat baik untuk pelbagai keperluan automasi web. Rujuk kepada dokumentasi PupPeteer rasmi untuk maklumat yang lebih terperinci dan contoh penggunaan lanjutan.

Soalan Lazim (Soalan Lazim):

  • Apa itu dalang? Perpustakaan Node.js untuk mengawal krom/kromium.
  • Penyemak imbas tanpa kepala:
  • penyemak imbas tanpa GUI, sesuai untuk automasi sisi pelayan.
  • Keserasian penyemak imbas:
  • terutamanya krom/kromium, walaupun sambungan ada untuk penyemak imbas lain.
  • Gunakan Kes:
  • mengikis web, ujian, penjanaan tangkapan skrin, penciptaan PDF, ujian prestasi, dan banyak lagi.
  • Pengikis berskala besar:
  • Gunakan secara bertanggungjawab, menghormati istilah laman web perkhidmatan dan mengelakkan pelayan yang berlebihan.

Atas ialah kandungan terperinci Bermula dengan dalang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn