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 堆总量

  • 相关阅读:
    2,ActiveMQ-入门
    1,Java消息服务-JMS
    2,Executor线程池
    Thymeleaf-模板引擎
    1,线程基础
    8,HashMap子类-LinkedHashMap
    7,HashMap
    ncnn编译安装-20190415
    VS2015 C#项目工程配置emgucv依赖的方法
    java jni 调用c++ opencv代码成功范例
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14295501.html
Copyright © 2011-2022 走看看