Phantomjs只从本地html文件渲染空白图片

时间:2017-09-29 14:23:46

标签: javascript html phantomjs

我猜,任务很简单。我想从本地html文件生成截图(png - 文件)。

我的概念证据'看起来像这样...... 这些文件位于本地文件夹中的Windows 10计算机上:c:\ temp \

这将是一个非常基本的html文件 - 只是为了确保没有复杂的东西令人不安(文件名为:a.html):



<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <!-- otherwise format might be broken when opening from local source -->
        <title>Savills Charts</title>
    </head>
<body>
<h1>HalloBallo</h1>
<p>My baby baby, Balla Balla!</p>

</body>
</html>
&#13;
&#13;
&#13;

调用phantomjs的脚本取自此处:http://www.cameronjtinker.com/post/2011/09/26/Take-Screenshot-of-all-HTML-documents-in-a-folder-using-PhantomJS.aspx 在我的工作中,我认为我自己的剧本是问题,但它看起来并不像。

&#13;
&#13;
var page = require('webpage').create();
  page.open("file:///c:/temp/a.html", function() {   
    page.render('C:/temp/screenshot.png');  
  phantom.exit();
});
&#13;
&#13;
&#13;

phantomjs只生成黑色的.png文件。 如果我将源从本地切换到网络上的某些内容

page.open(&#34;文件:/// C:/temp/a.html"

page.open(&#34; http://spon.de&#34;

然后一切正常...... 我迷失了...... 我该怎么办?

KR, 马丁

1 个答案:

答案 0 :(得分:0)

也许有一天会有人像我一样绊倒。 因此我想澄清一下。问题是,(与Web浏览器相比)phantomjs默认情况下不会设置任何颜色。因此,在给出的网站(参见示例代码)中,phantomjs只是在黑色背景上呈现黑色书写。

如果你给身体一个backgroundcolor,你会看到黑色字体。

所以 - 它已经解决了。

马丁