Rumah >hujung hadapan web >tutorial js >Bermula dengan dalang
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.
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:
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>
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>
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):
Atas ialah kandungan terperinci Bermula dengan dalang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!