PhantomJS onResourceReceived нет потока

Я пытаюсь получить URL живого потока 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/

Почему URL не отображается, когда PhantomJS нажимает кнопку?

1 ответ

Решение

PhantomJS (версии 1 и 2) не поддерживает <audio>, <video> или прошить Вы не увидите ожидаемые запросы, потому что они не отправлены.

SlimerJS, который имеет тот же API, что и PhantomJS, использует движок Gecko и поддерживает <audio> а также <video>,

Другие вопросы по тегам