在JS操作DOM并传递请求标头后获取生成的HTML

Get generated HTML after JS manipulates the DOM and pass request headers

本文关键字:获取 HTML 请求 操作 JS DOM      更新时间:2023-09-26

我需要在完成 JS DOM 操作后获取页面的生成 HTML 源代码。我为此目的使用 Phantomas https://github.com/macbre/phantomas,但不幸的是它没有提供传入请求标头的方法。

是否有一个库可以允许传递请求标头,然后获取生成的 HTML 源代码。

任何指针都会有很大帮助

您可以使用"PhantomJS WebKit scriptable"。

指定customHeaders并获取page.content

var webPage = require('webpage');
var page = webPage.create();
page.customHeaders = {
  "X-Test": "foo",
  "DNT": "1"
};
page.open('http://phantomjs.org', function (status) {
  var content = page.content;
  console.log('Content: ' + content);
  phantom.exit();
});

将其保存到test.js并运行:

phantomjs test.js
您可以使用

casperjs .

settings对象中的headers传递给open()函数,并使用getPageContent()获取页面的 HTML 源代码:

var casper = require('casper').create();
var headers = {
    'Accept-Language': 'en-US,en;q=0.8',
    'HEADER-XYZ': 'HEADER-XYZ-DATA'
};
casper.start().then(function () {
    this.open("http://casperjs.org", {
        method: 'get',
        headers: headers
    });
});
casper.then(function() {
    console.log(this.getPageContent());
});
casper.run(function() {
    this.exit();
});