Automatize HAR files generation from Google Chrome

后端 未结 2 1345
無奈伤痛
無奈伤痛 2021-01-30 14:37

Basically what I need is a way to automatize the result of the following operations:

  1. open a new tab;

  2. open the Network tab in the develo

相关标签:
2条回答
  • 2021-01-30 15:05

    The short answer is, there is no way to get at the data you are after directly. The getHAR method is only applicable to extensions meant to extend DevTools itself. The good news is, you can construct the HAR file yourself without too much trouble - this is exactly what phantom.js does.

    1. Start Chrome with remote debugging
    2. Connect to Chrome on the debugging port with a websocket connection
    3. Enable "Network" debugging, you can also clear cache, etc - see Network API.
    4. Tell the browser to navigate to the page you want to capture, and Chrome will stream all the request meta-data back to you.
    5. Massage the network data into HAR format, ala phantom.js
    6. ...
    7. Profit.

    For a head start, I have a post that with sample Ruby code that should you get started with steps 1-4: http://www.igvita.com/2012/04/09/driving-google-chrome-via-websocket-api/

    0 讨论(0)
  • 2021-01-30 15:06

    By now there's a browser plugin to do that: https://github.com/devtools-html/har-export-trigger

    It uses the WebExtensions DevTools API and I got it to work with both Firefox and Chrome.

    See my code for Chrome here: https://github.com/theri/web-measurement-tools/blob/master/load/load_url_using_chrome.py#L175

    Automatically installing the plugin in Chrome is a bit more complicated than in Firefox, but feasible - I extracted the plugin archive locally and then link to it in chrome_prefs.json (see same repository).

    0 讨论(0)
提交回复
热议问题