如何让幽灵“执行”我的页面?

时间:2013-06-12 20:38:02

标签: node.js express phantomjs

我的页面中有一个脚本标记,但它没有运行。它只是呈现。

我有以下代码:

var phantom = require('phantom');
phantom.create(function(ph,error) {
  c = callback;
  ph.createPage(function( page,err ) {  
    page.setContent( output );
    callback = c;
    setTimeout(function() {
       page.evaluate(function() {
         return document.getElementsByTagName('html')[0].innerHTML;
       }, function(html) {
         callback(html);
       });
    }, 5000);
  });
});

如何告诉幻像“加载”/“执行”页面以便页面上的脚本运行? (我不想使用page.open)

此外,内容为"<p>Page <strong>1</strong> content.</p><button id=\"page1_button\">button</button><script>document.getElementsByTagName('p').innerHTML = 'test';</script>"

1 个答案:

答案 0 :(得分:0)

致电page.open,请参阅http://phantomjs.org/api/webpage了解论据。

第一个参数是一个url,第二个参数是回调。

在回复page.open时,您应该像之前尝试的那样致电page.evaluate

page.open("http://httpbin.org/get", function(status) {
    if (status == "success") {
        page.evaluate(function() {
            // ...
        });
    }
});