بنقرة واحدة
browser-automation
Browser automation with Playwright — navigate, click, fill forms, scrape
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Browser automation with Playwright — navigate, click, fill forms, scrape
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Google Calendar — list, create, and manage events via gcal CLI
Manage HubSpot CRM — contacts, companies, deals, tickets
Manage Shopify store — products, orders, customers, inventory
Configure audio transcription and image/video understanding for channels
AWS CLI for S3, EC2, Lambda, CloudWatch, RDS, and ECS
Google Calendar — list, create, and manage events via gcal CLI
| name | browser-automation |
| version | 0.1.0 |
| author | devclaw |
| description | Browser automation with Playwright — navigate, click, fill forms, scrape |
| category | automation |
| tags | ["browser","playwright","automation","scraping","web"] |
| requires | {"bins":["npx","node"]} |
Automate web browsers using Playwright for testing, scraping, and automation.
Node.js (required):
brew install nodesudo apt install nodejs npmPlaywright (browsers):
npm install -g playwright # or: npm install playwright (project dependency)
npx playwright install # downloads Chromium, Firefox, WebKit
# Take screenshot
npx playwright screenshot https://example.com screenshot.png
# Generate PDF
npx playwright pdf https://example.com page.pdf
// script.js
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({ path: 'screenshot.png', fullPage: true });
await browser.close();
})();
node script.js
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://example.com/login');
// Fill form
await page.fill('#email', 'user@example.com');
await page.fill('#password', 'secretpassword');
// Click button
await page.click('button[type="submit"]');
// Wait for navigation
await page.waitForURL('**/dashboard');
await browser.close();
})();
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com/products');
// Extract text
const title = await page.textContent('h1');
// Extract multiple elements
const products = await page.$$eval('.product', items =>
items.map(item => ({
name: item.querySelector('.name')?.textContent,
price: item.querySelector('.price')?.textContent
}))
);
console.log(JSON.stringify(products, null, 2));
await browser.close();
})();
page.on('dialog', async dialog => {
console.log(dialog.message());
await dialog.accept();
});
// Wait for element
await page.waitForSelector('.loaded');
// Wait for specific text
await page.waitForSelector('text=Welcome');
// Wait for network idle
await page.waitForLoadState('networkidle');
// Wait with timeout
await page.waitForSelector('.element', { timeout: 5000 });
// Save auth state
const context = await browser.newContext();
await context.storageState({ path: 'auth.json' });
// Load auth state
const context = await browser.newContext({ storageState: 'auth.json' });
# Run with specific browser
npx playwright test --project=chromium
npx playwright test --project=firefox
npx playwright test --project=webkit
# Run headed (visible browser)
npx playwright test --headed
# Debug mode
npx playwright test --debug
# Generate code from actions
npx playwright codegen https://example.com
headless: false to see browser during developmentcodegen to record actions and generate codewaitForLoadState('networkidle') for dynamic contentpage.pause() for debuggingbrowser automation, playwright, web scraping, automate browser, click, fill form, screenshot, web testing