[Puppeteer] Get a Page's Load Time with Puppeteer (window.profermence.timing)
2024-08-24 23:41:53
In this lesson we are going to use Google's Puppeteer to gather metrics about a page's load time. We'll use a high level date subtraction method as well as gather data from the window performance timing. Then see how throttling the network to 3G affects the page's load time.
const getPageMetrics = async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.waitFor(1000); //delay 1 s // 3G metwork
await page._client.send('Network.emulateNetworkConditions', {
offline: false,
latency: 200,
downloadThroughput: 780*1024 / 8,
uploadThroughput: 300*1024/8
})
await page.goto('https://developers.google.com/web/'); const pref = await page.evaluate( _ => {
const {loadEventEnd, navigationStart} = window.performance.timing;
return ({
loadTime: loadEventEnd - navigationStart
})
}) console.log(`It took: ${pref.loadTime}ms`)
}
About 'winidow.profermence.timing', please check link.
About Chrom devtool protcol, please check link.
最新文章
- ActiveMQ笔记(1):编译、安装、示例代码
- 利用libpcap打印ip包
- 从0开始学Java——JSP和Servlet——jsp转servlet出错的三个典型场景
- 精通phthon的条件
- Power of Cryptography
- java大牛list
- 1.怎样控制div中的图片居中
- 贝叶斯来理解高斯混合模型GMM
- Android查缺补漏(线程篇)-- IntentService的源码浅析
- 快速安装puppeteer (跳过安装Chromium)
- python的变量与注释
- Maven classifier 元素妙用
- easyUI tree 自定义图标
- nginx配置长连接
- Catch That Cow--POJ3278
- 深度学习中的Normalization模型
- NAS、SAN和DAS的区别
- 深入理解Eureka - Eureka配置列表
- Java 枚举(enum) 的常见用法和开发规范
- BZOJ 1293 生日礼物(尺取法)
热门文章
- POJ 1950
- Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)
- 派生类地址比基类地址少4(CDerived对象的起始地址存放的是虚表指针vptr,也就是子类的第一项内容。接下来的是基类的成员变量,接下来再是自身的成员变量)
- AngularJS 下拉列表demo
- HTML5-1、标签
- crawler4j多线程爬虫统计分析数据
- php-fpm配置笔记
- 欢迎来到SQL学院
- C#操作sql时注意点
- UWP tips (与wp8.1的不同)