Introduction to Puppeteer Extra
Puppeteer Extra adds a wide variety of utilities and plugins to the base Puppeteer library, allowing developers to implement more advanced automation scenarios. In this guide, we explore several key APIs provided by Puppeteer Extra.
Plugin Stealth
The stealth plugin is designed to make headless puppeteer undetectable, helping to avoid bot detection mechanisms.
const puppeteer = require('puppeteer-extra'); const StealthPlugin = require('puppeteer-extra-plugin-stealth'); puppeteer.use(StealthPlugin()); (async () => { const browser = await puppeteer.launch({ headless: true }); const page = await browser.newPage(); await page.goto('https://example.com'); // Your code here await browser.close(); })();
Plugin Adblocker
This plugin blocks ads and trackers, ensuring faster page loads and cleaner content scraping.
const AdblockerPlugin = require('puppeteer-extra-plugin-adblocker'); puppeteer.use(AdblockerPlugin()); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com'); // Your code here await browser.close(); })();
Default Browser Args
Setting custom browser arguments to control Puppeteer’s behavior.
(async () => { const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] }); const page = await browser.newPage(); await page.goto('https://example.com'); await browser.close(); })();
Device Emulation
Emulate different devices using Puppeteer Extra for responsive testing.
(async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); const iPhone = puppeteer.devices['iPhone 6']; await page.emulate(iPhone); await page.goto('https://example.com'); await browser.close(); })();
App Example with Puppeteer Extra
Combining multiple APIs in a single app.
const puppeteer = require('puppeteer-extra'); const StealthPlugin = require('puppeteer-extra-plugin-stealth'); const AdblockerPlugin = require('puppeteer-extra-plugin-adblocker'); puppeteer.use(StealthPlugin()); puppeteer.use(AdblockerPlugin()); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); // Set custom arguments await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'); // Emulate an iPhone const iPhone = puppeteer.devices['iPhone 6']; await page.emulate(iPhone); await page.goto('https://example.com'); // Your code here await browser.close(); })();
With these examples and plugin integrations, you can create complex and advanced browser automation scripts using Puppeteer Extra. Happy coding!
Hash: 3e02aa40e93cbe54de7781d4bde4ba0626ebad561380fc14aa13237526b33497