使用phantomjs点击加载javascript / ajax调用

时间:2013-03-01 07:24:25

标签: javascript ajax phantomjs headless

我正在尝试构建一个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();
});

由于

1 个答案:

答案 0 :(得分:0)

尝试:

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