测量请求在PhantomJS中花费的时间

麦可

假设我有一个脚本可以在PhantomJS中加载网页。

var page = require('webpage').create()

var url = 'http://localhost:3000/hello.html'

page.open(url, function (status) {
  var content = page.content;
  console.log(content);
  phantom.exit();
});

我想知道加载页面资源需要多少时间。所以我像这样修改了我的脚本:

var page = require('webpage').create()

var dict = {}

page.onResourceRequested = function (req) {
    dict[req.url] = new Date().getTime()
};

page.onResourceReceived = function (res) {
  if (res.stage == "end") {
    dict[res.url] = new Date().getTime() - dict[res.url];
  }
};

var url = 'http://localhost:3000/hello.html'

page.open(url, function (status) {
  var content = page.content;
  console.log(JSON.stringify(dict))
  phantom.exit();
});

有没有更好的方法来衡量请求时间?

Artjom B.

您测量时间的方式完全可以,但是资源并不总是具有唯一的URL。多个资源可以具有相同的URL,这将在您的情况下产生错误的结果。您应该使用id请求属性:

page.onResourceRequested = function (req) {
    dict[req.id] = new Date().getTime()
};

page.onResourceReceived = function (res) {
  if (res.stage == "end") {
    dict[res.id] = new Date().getTime() - dict[res.id];
  }
};

请注意,示例目录中有netsniff.js脚本,该脚本已经为您完成了很多工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何测量JavaScript中同步http请求所花费的时间?

来自分类Dev

测量在Groovy类方法中花费的时间

来自分类Dev

如何在PhantomJS中测量渲染时间?

来自分类Dev

测量在Vim中某些类型的文件上花费的时间

来自分类Dev

测量执行函数所花费的时间

来自分类Dev

在Linux中返回Python请求比在Windows中花费更长的时间

来自分类Dev

MySQL查询在AJAX请求中花费大量时间

来自分类Dev

知道API请求在飞行中花费的时间-Angular 9

来自分类Dev

在Linux中测量任务在2点之间花费的时间(任务分析)

来自分类Dev

在Java或Android中的while循环中测量每次迭代所花费的时间

来自分类Dev

如何测量for循环的每次迭代所花费的时间?

来自分类Dev

测量在程序启动时动态链接花费的时间?

来自分类Dev

测量“花费在GC上的时间百分比”

来自分类Dev

监控花费在测量上的时间百分比

来自分类Dev

在C ++中分别测量在每个线程上花费的CPU时间

来自分类Dev

如何测量线程通过条件变量所花费的时间?

来自分类Dev

测量logstash输出到弹性中所花费的时间

来自分类Dev

Python请求花费比预期更长的时间

来自分类Dev

driver.get() 花费太多时间 - Python Selenium PhantomJs

来自分类Dev

在chrome中,为什么DOMContentLoaded看起来比请求/响应本身花费的时间更长?

来自分类Dev

在Jquery中测量加载时间

来自分类Dev

在Modelica中测量事件的时间

来自分类Dev

在Mongo中测量查询时间

来自分类Dev

在Android中测量DHCP时间

来自分类Dev

在测量算法时间复杂度时,是否总是忽略获取输入所花费的时间?

来自分类Dev

如何从总的测量执行时间中删除时钟所花费的时间?

来自分类Dev

如何从测量的总执行时间中删除时钟所花费的时间?

来自分类Dev

时间测量-多次测量和迭代中的变量

来自分类Dev

PhantomJs脚本中的Ajax请求

Related 相关文章

  1. 1

    如何测量JavaScript中同步http请求所花费的时间?

  2. 2

    测量在Groovy类方法中花费的时间

  3. 3

    如何在PhantomJS中测量渲染时间?

  4. 4

    测量在Vim中某些类型的文件上花费的时间

  5. 5

    测量执行函数所花费的时间

  6. 6

    在Linux中返回Python请求比在Windows中花费更长的时间

  7. 7

    MySQL查询在AJAX请求中花费大量时间

  8. 8

    知道API请求在飞行中花费的时间-Angular 9

  9. 9

    在Linux中测量任务在2点之间花费的时间(任务分析)

  10. 10

    在Java或Android中的while循环中测量每次迭代所花费的时间

  11. 11

    如何测量for循环的每次迭代所花费的时间?

  12. 12

    测量在程序启动时动态链接花费的时间?

  13. 13

    测量“花费在GC上的时间百分比”

  14. 14

    监控花费在测量上的时间百分比

  15. 15

    在C ++中分别测量在每个线程上花费的CPU时间

  16. 16

    如何测量线程通过条件变量所花费的时间?

  17. 17

    测量logstash输出到弹性中所花费的时间

  18. 18

    Python请求花费比预期更长的时间

  19. 19

    driver.get() 花费太多时间 - Python Selenium PhantomJs

  20. 20

    在chrome中,为什么DOMContentLoaded看起来比请求/响应本身花费的时间更长?

  21. 21

    在Jquery中测量加载时间

  22. 22

    在Modelica中测量事件的时间

  23. 23

    在Mongo中测量查询时间

  24. 24

    在Android中测量DHCP时间

  25. 25

    在测量算法时间复杂度时,是否总是忽略获取输入所花费的时间?

  26. 26

    如何从总的测量执行时间中删除时钟所花费的时间?

  27. 27

    如何从测量的总执行时间中删除时钟所花费的时间?

  28. 28

    时间测量-多次测量和迭代中的变量

  29. 29

    PhantomJs脚本中的Ajax请求

热门标签

归档