PhantomJS onResourceReceived没有流

时间:2015-02-26 12:18:55

标签: javascript phantomjs network-monitoring

我正在尝试接收mpeg直播的网址。 因为流的url可能会改变,但是站点很少,我使用onResourceReceived来监听流的url。

到目前为止,我还没有得到任何东西(甚至没有错误)。 这是我的代码:

var page = require('webpage').create(),
system = require('system'),
address;

if (system.args.length === 1) {
    console.log('Usage: netlog.js <some URL>');
    phantom.exit(1);
} else {
address = system.args[1];

page.onResourceRequested = function (req) {
    console.log('requested: ' + JSON.stringify(req, undefined, 4));
};

page.onConsoleMessage = function(msg) {
    system.stdout.writeLine('console: ' + msg);
};

page.onResourceReceived = function (res) {
    console.log('received: ' + JSON.stringify(res, undefined, 4));
};

page.open(address, function (status) {
if (status !== 'success') {
    console.log('FAIL to load the address');
}

var radio = page.evaluate(function() {
    return document.getElementById('button_playpause');
});
console.log('Radio variable: ');
console.log(radio);
console.log('Clicking button: ');
$(radio).click();

phantom.exit();
});
}

我调整了此处的代码:http://phantomjs.org/network-monitoring.html 我正在尝试此代码的网站如下:http://radioplayer.npo.nl/mini-player/radio4/

当PhantomJS点击按钮时,为什么网址不显示?

1 个答案:

答案 0 :(得分:0)

PhantomJS(版本1和2)不支持<audio><video>或闪存。您不会看到您期望的请求,因为它们不会被发送。

与PhantomJS具有相同API的SlimerJS使用Gecko引擎并支持<audio><video>