2017-01-31 1 views
0

J'essaie d'ajouter du texte sur la capture d'écran. Donc, mon code est:Phantomjs Ajouter texte

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(); 
} 

Je veux savoir comment puis-je modifier le contenu html avant de rendre afin d'ajouter un texte? J'ai essayé d'utiliser page.content mais sans succès.

Merci.

Répondre

1

Vous pouvez modifier le contenu html avec la fonction "page.évaluer". Avec la fonction, vous pouvez exécuter un javascript sur la page. Quelques exemples simples peuvent être trouvés au http://phantomjs.org/api/webpage/method/evaluate.html.

Essayez d'ajouter quelque chose comme la déclaration ci-dessous avant le rendu:

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