节点有 -e
和 -p
标志,分别用于求值和求值并打印。我知道 Chrome headless 有一个 --repl
标志,但我想知道是否还有一种方法可以评估和打印表达式,例如:
$ chrome --headless --eval-and-print 'navigator.hardwareConcurrency'
最佳答案
显然它接受从 stdin 读取,所以这个可怕的黑客“有效”:
$ 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
关于google-chrome - 如何在 headless 的 Chrome 中评估脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51241839/