zoukankan      html  css  js  c++  java
  • Puppeteer--其它功能

    1.Page.exposeFunction()
    Page.exposeFunction,这个 API 用来在页面注册全局函数,非常有用:
    在比如给 window 对象注册 readfile 全局函数:
    const puppeteer = require('puppeteer');
    const fs = require('fs');
     
    puppeteer.launch().then(async browser => {
      const page = await browser.newPage();
      page.on('console', msg => console.log(msg.text));
      await page.exposeFunction('readfile', async filePath => {
        return new Promise((resolve, reject) => {
          fs.readFile(filePath, 'utf8', (err, text) => {
            if (err)
              reject(err);
            else
              resolve(text);
          });
        });
      });
      await page.evaluate(async () => {
        // use window.readfile to read contents of a file
        const content = await window.readfile('/etc/hosts');
        console.log(content);
      });
      await browser.close();
    });
     
    2.page.metrics()
    通过 page.metrics() 可以得到一些页面性能数据, 捕获网站的时间线跟踪,以帮助诊断性能问题。
    • Timestamp 度量标准采样的时间戳
    • Documents 页面文档数
    • Frames 页面 frame 数
    • JSEventListeners 页面内事件监听器数
    • Nodes 页面 DOM 节点数
    • LayoutCount 页面布局总数
    • RecalcStyleCount 样式重算数
    • LayoutDuration 所有页面布局的合并持续时间
    • RecalcStyleDuration 所有页面样式重新计算的组合持续时间。
    • ScriptDuration 所有脚本执行的持续时间
    • TaskDuration 所有浏览器任务时长
    • JSHeapUsedSize JavaScript 占用堆大小
    • JSHeapTotalSize JavaScript 堆总量

  • 相关阅读:
    控制反转容器&依赖注入模式(转)
    基于消息与.Net Remoting的分布式处理架构(转)
    项目文档书写(序)
    jQuery使用手册
    大型社区的设计
    实战之数据结构篇(线性表,堆栈与队列)
    你必须知道的C#的25个基础概念
    SOA架构师注意的问题
    经典语录
    项目文档之(详细设计说明书)
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14295501.html
Copyright © 2011-2022 走看看