Phantomjs相当于浏览器的“将页面另存为...网页,完整”

时间:2015-08-02 19:38:12

标签: webkit phantomjs casperjs

对于我的应用程序,我需要以编程方式保存网页HTML的副本以及呈现它所需的图像和资源。浏览器在Save page as... Webpage, complete选项中具有此功能。

使用phantomjs或casperjs保存页面的呈现HTML当然很容易。但是,我没有看到任何将此与下载相关图像相结合,并进行所需DOM更改以使用下载图像的示例。

鉴于基于webkit的浏览器(Chrome,Safari)中存在此功能,我很惊讶它不在幻想中 - 或者我可能还没有找到它!

1 个答案:

答案 0 :(得分:0)

或者PhantomJS,您可以使用CasperJS来达到所需的效果。 CasperJS是一个基于PhantomJS的框架,但有各种模块和类支持和补充PhantomJS。

您可以使用的脚本示例如下:

casper.test.begin('test script', 0, function(test) {
    casper.start(url);

    casper.then(function myFunction(){
        //...
    });

    casper.run(function () {
        //...
        test.done();
    });
});

使用此脚本,在“步骤”中,您可以执行下载,无论是文档的单个图像,页面,打印还是其他任何内容。 在this link中研究下载方法, getPageContent 捕获 / captureSelector

我希望这些指示可以帮助你走得更远!