Selenium webdriver Browsermob的时间似乎不合适

Selenium webdriver Browsermob的时间似乎不合适,selenium-webdriver,browsermob-proxy,Selenium Webdriver,Browsermob Proxy,我可以通过browsermob-proxy-2.1.2获得Selenium driving启动ChromeDriver 2.23.409699,并可以访问HAR数据,但时间安排似乎很奇怪,尤其是SSL站点 例如,第一次抓取是对网站本身进行的,根据时间安排需要: @从开始到第页发出第一个请求的时间为512ms: 连接:1306ms SSL:1293ms 发送:1ms 等待:16毫秒 接收:6毫秒 然后@576ms(页面后64ms)发出对引用样式表的第二个请求: 然而,据我所知,该请求中的时

我可以通过
browsermob-proxy-2.1.2
获得Selenium driving
启动ChromeDriver 2.23.409699
,并可以访问HAR数据,但时间安排似乎很奇怪,尤其是SSL站点

例如,第一次抓取是对网站本身进行的,根据时间安排需要:

@从开始到第页发出第一个请求的时间为512ms:

  • 连接:1306ms
  • SSL:1293ms
  • 发送:1ms
  • 等待:16毫秒
  • 接收:6毫秒

然后@576ms(页面后64ms)发出对引用样式表的第二个请求:

然而,据我所知,该请求中的时间重叠#2在页面仍在等待连接(SSL和连接)时熄灭。下图显示了它们的重叠


你知道我做错了什么或误解了什么吗?

总结一下你的数据:

  • 你开始抓捕
  • 有一个请求以512ms的速度发送到主HTML页面
  • 在576毫秒时还有一个对样式表的请求。这发生在第一个请求完成之前
SSL握手不太可能需要整个1293毫秒。列出了完整事务(包括握手)从68毫秒到408毫秒的时间。检索时使用相同的方法:

据猜测,谷歌再次利用Chrome做了一些聪明的事情

  • 它启动TCP+SSL握手
  • 然后开始下载主HTML
  • 在HTML到达的同时,对其进行解析,然后
  • 一旦遇到样式表引用,也会下载(在HTML传输结束之前)

  • 这些需要在单独的线程中进行,这样优化才能工作,但它可以很好地减少web下载时间(这似乎是Chrome的主要目标之一)。

    您有到har的链接吗?截图有点难以理解。