Оценка PhanomJS

#javascript #jquery #node.js #phantomjs

#javascript #jquery #node.js #phantomjs

Вопрос:

console.log(_killer) выдает undefined.

 _killer = _pageInstance.evaluate(function() {
    var  storres = [];
    jQuery('.comment-container#pull-request-activity').children().each(
        function(index, value) {
            if (
                jQuery(value)[0].className !== 'activity-item diff-comment-activity'
            ) {
                jQuery(value)[0].remove();
            } else {
            storres.push(value);
            jQuery(value)[0].remove();
        }
    });

    return storres;
});



DOM 
   <li class="activity-item diff-comment-activity" data-activityid="178071"><div></div></li>
<li class="activity-item diff-comment-activity" data-activityid="178070"><div></div></li>
<li class="activity-item diff-comment-activity" data-activityid="178069"><div></div></li>
  

выше приведен повторяющийся элемент, и я хочу извлечь его из DOM.

Я использую версию 0.2.5 узла-фантома

Подобные вопросы доступны на форуме, но ни один из них не помогает. Я использую node bridge для phantomjs .

Любая помощь?

Комментарии:

1. Какой именно узел-фантомный мост вы используете? (пожалуйста, предоставьте ссылку) Кроме того, есть ли у нас способ взглянуть на целевую страницу? Если нет, пожалуйста, предоставьте соответствующий образец DOM для изучения.

2. DOM я не могу предоставить, но если я запущу эту часть в своей консоли.. Это работает так, как и ожидалось.. Он извлекает соответствующие элементы и сохраняет их в storres.

3. Моя цель — просто извлечь соответствующие элементы, сохранить их в массиве и вернуть массив во «внешний мир»

4. Если вы посмотрите на документацию используемого вами моста (их несколько), вы должны увидеть, что evaluate функция принимает как минимум два аргумента: 1. функция, подлежащая оценке в контексте страницы, и 2. функция обратного вызова, когда результат доступен. Обычно ничего не возвращается.

5. Да .. Пробовал и это.. Добавив функцию в качестве второго аргумента, а затем присвоив результат из результата первого аргумента глобальной переменной.. Но не повезло