Puppeteer 是一个用于控制和截取浏览器屏幕的工具集合。它提供了丰富的 API 来管理浏览器行为、DOM 操作以及网络请求等。通过 Puppeteer,开发者可以方便地进行自动化测试、页面抓取、生成截图和 PDF 等操作。
npm install puppeteer --save-dev
const puppeteer = require('puppeteer');
// 启动浏览器实例
async function main() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// 导航至指定页面
await page.goto('http://example.com');
// 截取屏幕并保存为图片
await page.screenshot({ path: 'example.png', format: 'png' });
// 关闭浏览器实例
await browser.close();
}
main().catch(console.error);
const puppeteer = require('puppeteer');
// 启动浏览器实例
async function main() {
const browser = await puppeteer.launch();
const tabs = [];
// 打开多个标签页
for (let i = 0; i < 3; i++) {
tabs.push(await browser.newPage());
}
// 在不同线程中执行不同的任务
const promiseArray = [];
for (const tab of tabs) {
promiseArray.push(
tab.goto(`http://example.com/page${i}`)
.then(() => tab.title())
);
}
// 等待所有 Promise 完成
const results = await Promise.all(promiseArray);
console.log(results);
// 关闭所有标签页和浏览器实例
await tabs.forEach(tab => tab.close());
await browser.close();
}
main().catch(console.error);
const puppeteer = require('puppeteer');
// 启动浏览器实例并打开页面
async function main() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// 模拟用户输入和点击操作
await page.type('#username', 'user');
await page.type('#password', 'pass');
await page.click('button[type="submit"]');
// 等待页面加载完成
await page.waitForNavigation();
// 截取提交后的页面截图
await page.screenshot({ path: 'submitscreenshot.png', format: 'png' });
// 关闭浏览器实例
await browser.close();
}
main().catch(console.error);
安装 Puppeteer:
npm install puppeteer --save-dev
编写第一个脚本:
const puppeteer = require('puppeteer');
async function main() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
// 导航至指定页面
await page.goto('http://example.com');
// 截取屏幕并保存为图片
await page.screenshot({ path: 'example.png', format: 'png' });
// 关闭浏览器实例
await browser.close();
}
main().catch(console.error);
运行脚本:
node yourscript.js
确保你已经安装了 Node.js 和 npm。然后运行以下命令安装 Puppeteer:
npm install puppeteer --save-dev
在你的 JavaScript 文件中引入 Puppeteer 并初始化浏览器实例:
const puppeteer = require('puppeteer');
async function main() {
const browser = await puppeteer.launch();
}
main().catch(console.error);
使用浏览器实例创建一个新的页面标签页:
async function main() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
}