我想用WebGL拍摄一个网站的截图。我不需要用GPU打开那个网站。对我来说,使用仿真就足够了。
一开始,我已经试过无头铬来做这个了。这可以采取屏幕截图的序号网站。但是,它不适用于WebGL画布。我认为其中一种可能是使用OSMesa或其他东西来模仿OpenGL。
我已经用了我所有的策略来克服这个问题。这真的可以做吗?如果是,请告诉我怎么做。如果没有,我想知道原因。
谢谢。
发布于 2018-09-27 06:47:22
是的,这是可能的!
你需要正确的组合:
['--use-gl=osmesa', '--enable-webgl', '--ignore-gpu-blacklist', '--homedir=/tmp', '--single-process', '--data-path=/tmp/data-path', '--disk-cache-dir=/tmp/cache-dir']这个关于无服务器铬github项目的线程讨论了这个问题,并提供了一些二进制文件,用于使用Page.captureScreenshot()捕获AWS上的Page.captureScreenshot内容的屏幕截图。
https://github.com/adieuadieu/serverless-chrome/issues/108#issuecomment-416494572
(见@apalchys 8月28日的评论)
这个特殊的例子使用SwiftShader,这似乎是未来的首选选择。
但是,请注意,我无法使用这个版本使用Page.printToPDF()创建PDFs - WebGL内容只是显示为空白/白色。但是,我也能够使用使用osmesa的早期版本获得Page.printToPDF(),请参阅https://github.com/adieuadieu/serverless-chrome/issues/108#issuecomment-371199530。
https://stackoverflow.com/questions/46822157
复制相似问题