Phantomjs 添加文本

Phantomjs Add text

我正在尝试在屏幕截图上添加文字。所以我的代码是:

var system = require('system');
var args = system.args;
var WebPage = require('webpage');

page = WebPage.create();
page.viewportSize = { width: 480, height: 800 };
page.clipRect = { top: 0, left: 0, width: 1024, height: 768 };
page.open(args[1].toString());
page.onLoadFinished = function() {
page.render(args[1] + '.png');
phantom.exit();
}

我想知道如何在呈现之前修改 html 内容以添加一些文本?我尝试使用 page.content 但没有成功。

谢谢。

您可以使用函数"page.evaluate"修改html内容。使用该功能,您可以在页面上 运行 一个 javascript。可以在 http://phantomjs.org/api/webpage/method/evaluate.html.

找到一些简单的示例

尝试在渲染之前添加如下语句:

page.evaluate(function(str) {
    document.querySelector('h2').textContent = str;
}, 'title');