首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Chrome无头操作系统中评估脚本?

如何在Chrome无头操作系统中评估脚本?
EN

Stack Overflow用户
提问于 2018-07-09 09:09:05
回答 2查看 982关注 0票数 3

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

代码语言:javascript
复制
$ chrome --headless --eval-and-print 'navigator.hardwareConcurrency'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-12 21:57:42

显然,它接受从stdin中读取,所以这个可怕的“工作”:

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
$ echo -e 'navigator.hardwareConcurrency\nquit\n' | chrome --headless --repl 2>&1 | grep '^>>> {"result":' | cut -c4- | jq -r .result.description
8
票数 5
EN

Stack Overflow用户

发布于 2019-04-13 00:43:47

无头模式目前只支持:

  • 打印/截图
  • 倾弃
  • 相互作用
  • 远程调试器的交互

如果您不想使用交互模式或其周围的包装器之一,并且实际上不需要导航到页面,则可以使用data: url提供javascript并从dump-dom获取输出,例如:

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51241839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档