rye*_*guy 31 javascript browser node.js headless-browser
是否有任何无头浏览器支持将呈现的页面转储到文件中的node.js?我知道phantomjs支持渲染到文件,但它不能在node.js上运行.我知道zombie.js是一个node.js无头浏览器,但它不支持渲染到文件.
Pet*_*ons 12
我怀疑你会发现任何与phantomjs一样有用的东西.我只是将渲染视为异步后端进程,并在主node.js进程的子进程中执行幻像并将其调用一天.渲染网页很难,因为幻像基于WebKit,它实际上可以做到.我认为永远不会有一个节点库可以将网页呈现为不是基于现有浏览器呈现引擎构建的图形文件.但是也许有一天phantomjs会更加无缝地与节点集成.
小智 3
这可能看起来像是一个有一点开销的解决方案......
您可以将 Mozilla Firefox 与 MozRepl 插件一起使用。基本上,这个插件为您提供了 Firefox 的 telnet 端口,允许您从外部控制浏览器。您可以打开 URL、截取屏幕截图等。使用 Xvfb 服务器运行 Firefox 将以无头模式运行。
现在您只需使用 node.js 从外部控制浏览器即可。我见过一些例子,其中有人在 Firefox 的 chrome.js 中实现了类似 http 的接口。所以你可以运行http命令来获取屏幕截图。然后,您可以使用来自 node.js 的 http 调用。这可能看起来很奇怪,但实际上很奇怪,但可能对你有用。
我正在生产环境中使用 Perl Mojolicious 在异步模式下运行一个稍微修改过的版本来触发屏幕截图。然而,有一个小问题。当需要插件时,它们确实可以工作,但是 Flash 通常在位于可见区域时被激活,这种情况不会发生,因此电影/Flash 可能不会被初始化。