puppeteer-skill
Generates Puppeteer scripts for browser automation, scraping, and PDF generation. Triggers on: "Puppeteer", "headless Chrome", "page.goto", "scrape", "PDF generation".
DeepseekModel
Curated skill
Quality Excellent · 78
v1.0.0
Get
https://deepseekmodel.com/api/download.php?id=lambdatest-agent-skills-puppeteer-skill-skill-md&format=skill
Download .skill
Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name puppeteer-skill description Generates Puppeteer scripts for browser automation, scraping, and PDF generation. Triggers on: "Puppeteer", "headless Chrome", "page.goto", "scrape", "PDF generation". languages ["JavaScript","TypeScript"] category e2e-testing license MIT metadata {"author":"TestMu AI","version":"1.0"} Puppeteer Automation Skill Core Patterns Basic Script const puppeteer = require ( 'puppeteer' ); ( async () => { const browser = await puppeteer. launch ({ headless : 'new' }); const page = await browser. newPage (); await page. setViewport ({ width : 1280 , height : 720 }); await page. goto ( 'https://example.com' , { waitUntil : 'networkidle0' }); await page. type ( '#username' , 'user@test.com' ); await page. type ( '#password' , 'password123' ); await page. click ( 'button[type="submit"]' ); await page. waitForNavigation ({ waitUntil : 'networkidle0' }); const title = await page. title (); console . log ( 'Title:' , title); await browser. close (); })(); Wait Strategies // Wait for selector await page. waitForSelector ( '.result' , { visible : true , timeout : 10000 }); // Wait for navigation await Promise . all ([ page. waitForNavigation ({ waitUntil : 'networkidle0' }), page. click ( 'a.nav-link' ), ]); // Wait for function await page. waitForFunction ( 'document.querySelector(".count").innerText === "5"' ); // Wait for network request const response = await page. waitForResponse ( resp => resp. url (). includes ( '/api/data' ) && resp. status () === 200 ); Screenshot & PDF await page. screenshot ({ path : 'screenshot.png' , fullPage : true }); await page. pdf ({ path : 'page.pdf' , format : 'A4' , printBackground : true }); Network Interception await page. setRequestInterception ( true ); page. on ( 'request' , request => { if (request. resourceType () === 'image' ) request. abort (); else request. continue (); }); // Mock API page. on ( 'request' , request => { if (request. url (). includes ( '/api/data' )) { request. respond ({ status : 200 , contentType : 'application/json' , body : JSON . stringify ({ items : [] }), }); } else request. continue (); }); TestMu AI Cloud For full setup, capabilities, and shared capability reference, see reference/cloud-integration.md . const capabilities = { browserName : 'Chrome' , browserVersion : 'latest' , 'LT:Options' : { platform : 'Windows 11' , build : 'Puppeteer Build' , user : process. env . LT_USERNAME , accessKey : process. env . LT_ACCESS_KEY , }, }; const browser = await puppeteer. connect ({ browserWSEndpoint : `wss://cdp.lambdatest.com/puppeteer?capabilities= ${ encodeURIComponent ( JSON .stringify(capabilities))} ` , }); Quick Reference Task Code Launch headed puppeteer.launch({ headless: false }) Evaluate JS await page.evaluate(() => document.title) Extract text await page.$eval('.el', el => el.textContent) Extract all await page.$$eval('.items', els => els.map(e => e.textContent)) Set cookie await page.setCookie({ name: 'token', value: 'abc' }) Emulate device await page.emulate(puppeteer.devices['iPhone 12']) Deep Patterns → reference/playbook.md § Section Lines 1 Production Setup & Configuration Launch options, Jest integration 2 Page Object Pattern BasePage, LoginPage, DashboardPage 3 Network Interception & Mocking Request mock, response capture 4 Wait Strategies DOM, network, custom conditions 5 Screenshots, PDF & Media Full page, clip, PDF, video 6 Authentication & Cookies API login, session save/restore 7 iFrame, Dialog & File Operations Upload, download, dialogs 8 Performance & Metrics Web Vitals, Lighthouse, coverage 9 Accessibility Testing axe-core integration 10 CI/CD Integration GitHub Actions, Docker 11 Debugging Quick-Reference 11 common problems 12 Best Practices Checklist 13 items
Keywords that activate this skill. Click one to copy it.
This skill does not provide trigger words.
The downloaded .skill package contains the following fields.
| Field | Description |
|---|---|
| format | Format tag (skill/v1) |
| skill_id | Unique skill ID |
| name | Skill name |
| version | Version |
| description | Description |
| category | Categories (array) |
| trigger_words | Trigger words |
| tags | Tags |
| source | Source |
| source_url | Source URL (this page) |
| exported_at | Exported at (set per download) |
| system_prompt | System prompt body |
| model_config | Model config: provider / model / temperature / max_tokens / top_p |
| examples | Examples |
| install_guide | Import guide for Coze / Dify / Claude / custom frameworks |
The same skill can be exported in different platform formats.