美文网首页
自动化 puppeteer - 其他笔记

自动化 puppeteer - 其他笔记

作者: 自走炮 | 来源:发表于2020-08-07 01:01 被阅读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();
    

    相关文章

      网友评论

          本文标题:自动化 puppeteer - 其他笔记

          本文链接:https://www.haomeiwen.com/subject/kbsgrktx.html