一尘不染

使用PhantomJS和node.js保存并呈现网页

node.js

我正在寻找一个示例,该示例请求一个网页,等待JavaScript呈现(JavaScript修改DOM),然后获取页面的HTML。

这应该是一个简单的示例,并且带有明显的PhantomJS用例。我找不到合适的示例,文档似乎全部关于命令行使用。


阅读 383

收藏
2020-07-07

共1个答案

一尘不染

根据您的评论,我猜您有2个选择

  1. 尝试找到phantomjs节点模块-https: //github.com/amir20/phantomjs-node
  2. 运行phantomjs作为一个子进程内部节点- http://nodejs.org/api/child_process.html

编辑:

phantomjs似乎建议子进程作为与节点交互的一种方式,请参见常见问题解答-http:
//code.google.com/p/phantomjs/wiki/FAQ

编辑:

用于获取页面HTML标记的示例Phantomjs脚本:

var page = require('webpage').create();  
page.open('http://www.google.com', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var p = page.evaluate(function () {
            return document.getElementsByTagName('html')[0].innerHTML
        });
        console.log(p);
    }
    phantom.exit();
});
2020-07-07