2014-02-05 3 views
0

У меня на вашем веб-сайте есть сценарий аналитики, который запускает события через 1 секунду, 5 секунд и 1 минуту. Я хочу проверить это с помощью Phantomjs, но я не могу заставить их выполнить. Начальные загрузки javascript, но последующие события времени не срабатывают. Сценарий аналитики размещается в домене поставщика аналитики, и я только ссылаюсь на него на своей странице для сбора данных аналитики. Он не работает с ожиданием или window.setTimeout()Phantomjs и задержанный javascript

Кто-нибудь есть идеи, как это сделать?

редактировать: Это мой phantomjs код

var page = require('webpage').create(); 


var myArray = ['Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36', 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6','Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7)','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Zune 4.0; Tablet PC 2.0; InfoPath.3; .NET4.0C; .NET4.0E)']; 
page.settings.userAgent = myArray[Math.floor(Math.random() * myArray.length)]; 

page.viewportSize = { width: 1920, height: 1080 }; 

var url = 'myurl.com/mypage.html'; 

page.open(url, function() { 

    window.setTimeout(function(){ 
    page.render(''); 
    phantom.exit(); 
    },5000); 

}); 
+0

Таймауты прекрасно работают в фантом - вы уверен, что это не проблема с вашим скриптом аналитики? – jraede

+0

@jraede, когда я открываю ту же страницу в браузерах, например firefox или chrome, он отлично работает! – lolcat

+0

«Вы уверены, что это не проблема с вашим скриптом аналитики?» смысл, может быть, он не поддерживает Phantom по какой-то причине – jraede

ответ

0

Я нашел решение, казалось, что код аналитики уволили только если браузер был document.hasFocus() возвращение true

Смежные вопросы