# -*- coding: utf-8 -*-
"""dump.py <src.html> <out_dom.html> [budget]：用无头 Edge 渲染并保存 DOM"""
import io, os, subprocess, sys, time

src = sys.argv[1]
dst = sys.argv[2]
budget = sys.argv[3] if len(sys.argv) > 3 else '10000'
edge = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
subprocess.run(['taskkill', '/F', '/IM', 'msedge.exe'], capture_output=True)
time.sleep(2)
prof = 'C:/Windows/Temp/e2eD%d' % (int(time.time()) % 100000)
cmd = [edge, '--headless=new', '--disable-gpu', '--user-data-dir=' + prof,
       '--virtual-time-budget=' + budget, '--dump-dom', src]
r = subprocess.run(cmd, capture_output=True)
with io.open(dst, 'wb') as f:
    f.write(r.stdout)
print('dom=%d' % len(r.stdout))
