PhantomJS截图始终为空白

时间:2017-07-19 20:57:02

标签: javascript phantomjs

我安装了PhantomJS,the official Phantom website的示例脚本工作正常。

我正在努力让this screenshot example工作:

var page = require('webpage').create();
page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});

但我一直得到的是一个空白的github.png文件,重582Kb

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

@ ced-b 的建议是明智的,但我不认为您的问题会在超时时解决,因为真正的问题很可能是SSL / TLS。 GitHub是一个HTTPS网站。因此,如果您想获取屏幕截图,则可能需要在运行PhantomJS脚本时添加[1] "TCGA.BC.A10Q.01A" "TCGA.DD.A1EB.01A" "TCGA.DD.A1EG.01A" "TCGA.DD.A1EH.01A" [5] "TCGA.DD.A1EI.01A" "TCGA.DD.A3A6.01A" 选项。默认情况下,您应该收到一个狭窄的屏幕截图,但您当然可以设置一个更大的视口:

--ignore-ssl-errors=true

答案 1 :(得分:0)

您可能必须等待页面实际加载和呈现。尝试添加超时:

var page = require('webpage').create();
page.open('http://github.com/', function() {
  setTimeout(function() {
     page.render('github.png');
     phantom.exit();
  }, 500);
});

答案 2 :(得分:0)

此库存在同样的问题:https://github.com/juliangruber/url-to-screenshot

设置sslCertificatesPath('任何')修复问题

array (
  0 => 1,
  12 => 2,
)