如果我使用Chrome开发工具,则可以执行以下操作:
然后我在chrome的“摘要”标签中得到一个漂亮的小馅饼:
我的问题是:
如何在javascript中开始记录,停止记录并获得这些摘要值(加载,脚本等)?
如果有人可以给我一些代码示例,那就太好了。
我的问题不是关于如何处理页面导航的问题,原因是我正在使用C#硒。我想做的是开始录制性能,使用Webdriver执行一些步骤,停止录制并评估性能。
答案 0 :(得分:1)
第一个:
我建议您调查puppeteer。
这是由谷歌浏览器的家伙完成的项目,并且支持tracing
。如您在这里https://pptr.dev/#?product=Puppeteer&version=v1.13.0&show=api-class-tracing所见,他们有一种方法检索生成的跟踪,您应该将其写入计算机以备后用。
对tracing.start({})
的调用使用了path
,它指定了将跟踪写入到的文件。
tracing.stop()
的调用可以很容易地与fs
库集成在一起,以将Buffer
的输出转换为文件,以后您可以使用chrome dev tools
进行读取您不想将start函数与path
参数一起使用。
唯一的缺点是,您不能真正重用Selenium脚本,并且即使认为Puppeteer声称更容易,也必须从头开始或多或少地开始。
第二个(难度稍高):
使用类似于该库的内容。 https://github.com/paulirish/automated-chrome-profiling
如果您遵循软件包的安装步骤,然后运行命令node get-timeline-trace.js
并加载生成的文件(profile-XXXXXXXX.devtools.trace
,则它是用JS编写的,并且可以按照示例中的预期正常运行。到chrome探查器,您将获得一个非常不错的报告。
我看到的唯一问题是,您将必须找到一种方法来执行将chrome实例传递给它的selenium脚本,而且我不知道这样做有多么容易(也许PID可以做到?)< / p>