自动化 puppeteer - 其他笔记

2020-08-07  本文已影响0人  自走炮
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();
上一篇下一篇

猜你喜欢

热点阅读