我一直在看以下关于无头 Chrome 的文章:
https ://developers.google.com/web/updates/2017/04/headless-chrome
我刚刚将 Windows 10 上的 Chrome 升级到版本 60,但是当我从命令行运行以下任一命令时,似乎什么都没有发生:
chrome --headless --disable-gpu --dump-dom https://www.google.com/
chrome --headless --disable-gpu --print-to-pdf https://www.google.com/
我正在从以下路径(Windows 上 Chrome 的默认安装路径)运行所有这些命令:
C:\Program Files (x86)\Google\Chrome\Application\
当我运行命令时,某些东西似乎会处理一秒钟,但我实际上什么也没看到。我究竟做错了什么?
谢谢。
编辑:
正如 Mark Rajcok 所指出的,如果您添加--enable-logging
到--dump-dom
命令中,它就会起作用。此外,该--print-to-pdf
命令在 Chrome 61.0.3163.79 中也可以正常工作,但您可能必须为输出文件指定不同的路径才能获得保存它的必要权限。
因此,以下两个命令对我有用:
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --headless --disable-gpu --enable-logging --dump-dom https://www.google.com/
"C:\Program Files (x86)\Google\Chrome\Application\chrome" --headless --disable-gpu --print-to-pdf=D:\output.pdf https://www.google.com/
我想下一步是能够通过带有 DOM 选择器之类的 PhantomJS 之类的转储 DOM,但我想这是一个单独的问题。
编辑#2:
值得一提的是,我最近遇到了一个用于 Headless Chrome 的 Node API,名为 Puppeteer ( https://github.com/GoogleChrome/puppeteer ),它非常易于使用并提供了 Headless Chrome 的所有功能。如果您正在寻找一种使用 Headless Chrome 的简单方法,我强烈推荐它。