代码之家  ›  专栏  ›  技术社区  ›  Pavlo

如何在chrome headless中评估脚本?

  •  2
  • Pavlo  · 技术社区  · 6 年前

    节点具有 -e -p 分别用于评估、评估和打印的标志。我知道有一个 --repl chrome headless的标志,但我想知道是否也有方法计算和打印表达式,例如:

    $ chrome --headless --eval-and-print 'navigator.hardwareConcurrency'
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Hugues M.    6 年前

    $ echo -e 'navigator.hardwareConcurrency\nquit\n' | chrome --headless --repl
    [0412/235456.154837:ERROR:gpu_process_transport_factory.cc(980)] Lost UI shared context.
    [0412/235456.214132:INFO:headless_shell.cc(370)] Type a Javascript expression to evaluate or "quit" to exit.
    >>> {"result":{"description":"8","type":"number","value":8}}
    >>> 
    

    jq

    $ echo -e 'navigator.hardwareConcurrency\nquit\n' | chrome --headless --repl 2>&1 | grep '^>>> {"result":' | cut -c4- | jq -r .result.description
    8
    
        2
  •  1
  •   lossleader    6 年前

    data: dump-dom

    chromium --headless --dump-dom 'data:text/html,<script>document.head.innerHTML="<code>\n"+navigator.hardwareConcurrency+"\n</code>"</script>' | grep -v 'code>'