2

我正在尝试构建一个 webscraper,在单击时从 ajax 调用接收到信息后,我可以使用它下载 HTML 源代码。简单地说,最初我下载了一个网页,然后单击下一步按钮,该页面使用 ajax 调用加载了一组新图像,单击下一步后我需要捕获 html 源。

下一个点击源看起来像这样

<a href="javascript:void(0);" onclick="return nextpage('xyz.html','2');" class="nextimage">Next Page</a>

在同一页面上是处理 ajax 调用的 javascript 函数 nextpage。

有没有办法使用 phantomjs 做到这一点?我对 phantomjs 很陌生,所以如果有什么不清楚的地方请告诉我。目前我只能从原始网页加载内容。

var page = require('webpage').create();
page.open('somewebpage', 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();
});

谢谢

4

1 回答 1

0

尝试:

var content = page.evaluate( function() { return
(new XMLSerializer()).serializeToString( document ); } );

于 2013-03-20T00:38:04.827 回答