PhantomJs Не работает слип внутри evaluate

301
08 июля 2017, 11:36

Всем привет. Нужно сделать sleep на 2 секунды в PhantomJs, после вернуть результат, пробовал через setTimeOut, но не возвращает результат.

function sleepFor(sleepDuration) { 
    var now = new Date().getTime(); 
    while (new Date().getTime() < now + sleepDuration) { /* do nothing */ } 
}; 
 
window.getPostShare = function getPostShare(post) { 
    var sharedButton = post.getElementsByClassName('post_share')[0]; 
    sharedButton.onmouseover.call(); 
 
    sleepFor(2000); 
    var sharedListButton = post.getElementsByClassName('like_tt_header')[0]; 
    sharedListButton.onclick.call(); 
 
    sleepFor(2000); 
    sharedPostList = window.document.getElementById('wk_likes_rows'); 
     
    res = []; 
    [].forEach.call(sharedPostList.getElementsByClassName('post'), function (element, i, a) { 
        res.push(element.getElementsByClassName('author')[0].href); 
    }); 
 
    document.getElementsByClassName('box_x_button box_x_tabs')[0].onclick.call(); 
    return res; 
};
getPostShare вызывается в evaluate, попробовал через sleepFor, тоже не работает(без задержки все идет, просто минует ее).

READ ALSO
Кириллица в регулярном выражении JS

Кириллица в регулярном выражении JS

Данный код переводит в верхний регистр первых букв слова, но почему то не работает с кириллицей

206
Добавление данных в конец таблицы Google Sheets

Добавление данных в конец таблицы Google Sheets

Возникла необходимость по работе использовать google sheetsВ javascript совсем без малейшего понятия

440
Регулярное выражение для проверки ФИО с учетом тире

Регулярное выражение для проверки ФИО с учетом тире

Есть регулярное выражение для проверки ФИО:

516