const puppeteer = require("puppeteer");
let options = {
headless: true, // 无界面
slowMo: 250, // 调试时减慢速度
defaultViewport: { width: 1200, height: 800 },
timeout: 3000,
};
let browser = await puppeteer.launch(options); // 打开浏览器
let page = await browser.newPage(); // 打开新标签
let pages = await browser.pages(); // 获取所有页面
browser.close(); // 关闭浏览器
await page.goto(url); // 页面跳转
let btn = await page.$(selector); // 获取页面对象
let input = await page.$(selector);
btn.click(); // 点击
input.forcus(); // 聚焦
await page.keyboard.type("Hello"); // 键盘操作, 同理 press() down()
await page.mouse.move(0, 0); // 鼠标操作
await page.mouse.down();
await page.mouse.move(100, 100);
await page.mouse.up();
获取请求
await page.setRequestInterception(true); // 获取请求
page.on("request", (request) => {
request.url(); // 获取请求网址
if (true) {
request.continue();
} else {
request.abort([errorCode]);
}
});
// 获取浏览器信息和内容
page.$eval(selector, (item) => {
return item;
});
page.$$eval(selectors, (items) => {
return items;
});
截图
const puppeteer = require("puppeteer");
const run = async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport({
width: 640,
height: 800,
});
await page.goto("http://komavideo.com/");
await page.screenshot({
path: "mypic.png",
fullPage: true,
});
await browser.close();
};
run();
网友评论