Playwright
爬蟲工具
環境安裝
npm init playwright@latest 或 yarn create playwright
聚集模式紀錄網頁操作行為
yarn playwright codegen url --output path
截圖
const moment = require('moment');
const { chromium } = require('playwright')
const start = async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.screenshot({
// 截圖儲存路徑
path: `${moment().format("yyyyMMDD")`
}_snap.png
});
await browser.close();
console.log("done")
}
start();
page相關指令
// 等待指定的CSS選擇器匹配的元素出現
await page.waitForSelector('#exampleElement');
// timeout設定
await page.waitForTimeout(2000);
// $選擇第一個匹配的元素
const element = await page.$('#exampleElement');
// $$選擇所有匹配的元素
// 加上eval=>回調函數回傳所有元素的陣列
const texts = await page.$$eval('.exampleClass', elements =>
elements.map(element => element.textContent));
// evaluate可執行pageFunction(也可以接受回傳送)
await page.evaluate(() => {
// 模擬向下滑動
window.scrollTo(0, document.getElementById('page-manager').scrollHeight);
});
// click模擬點擊
await page.click('#expand');
// 等待頁面跳轉完成
await page.click('#link');
await page.waitForNavigation();
//調整視窗大小
await page.setViewportSize({ width: 1200, height: 800 });
Copyright © 2025 white.