2015-11-08 4 views
0

В настоящее время я ищу способ отслеживать все запросы, сделанные с сайта в zombie.js. Идея состоит в том, чтобы получить всю информацию о загруженном контенте (например, пиксель отслеживания для рекламы, теги аналитики, изображения, css ...). В основном Сетевой монитор из Dev Tools в безгласном браузере.Отслеживание запроса сети с zombie.js в node.js

В настоящее время я застрял в этой точке:

var Browser = require("zombie"); 
var url = "http://stackoverflow.com/"; 
var browser = new Browser(); 

browser.visit(url, function(err) { 
    for (var i = browser.resources.length - 1; i >= 0; i--) { 
     console.log(browser.resources[i].request.url) 
    } 
}) 

Это, вероятно, самый основной Set Up и ничего, кроме некоторого запроса .js не будет отслеживать. Также я не могу отслеживать загруженные файлы, которые загружаются каким-то внешним скриптом. Лучший пример - Tagmanager Google, который «скроет» все файлы, загруженные Диспетчером тегов.

Было бы здорово, если бы кто-нибудь подумал, как решить эту проблему.

Заранее спасибо

Daniel

ответ

1

То, что вы хотите узнать, называется ресурсы, и вы можете получить доступ к ним через browser.resources, как

browser.visit(url).then(function(){ 
    console.log(browser.resources); // array with downloaded resources 
}); 

Вы можете также создает трубы для при скачиваемых файлов:

Факс: Факс:
browser.pipeline.addHandler(function(browser, request, response){ 
    console.log(request, response); 
    return response; 
}); 
browser.visit(url).then(function(){ 
    console.log('successful visit'); 
});