Результаты массива Apify отображаются в одной строке вместо отдельных строк

Я тестирую парсер Apify и вижу результаты, но они отображаются в одной строке. Я повторяю содержимое, чтобы получить заголовки с этой страницы - ... и помещаю его в массив и, наконец, возвращаю массив. Я хотел бы, чтобы заголовки возвращались в отдельные строки. Был бы очень признателен, если бы кто-нибудь мог указать мне правильное направление.

Вот функция моей страницы:

async function pageFunction(context) {
    // jQuery is handy for finding DOM elements and extracting data from them.
    // To use it, make sure to enable the "Inject jQuery" option.
    const $ = context.jQuery;
    var results = [];
    $('.ms-srch-group-content').each(function(){
        results.push({
            title: $(this).find('.ms-srch-item-link').text().trim(),
            date: $(this).find('.soi-news-attributes').text().trim(),
        });
    });
    return results;
}

Вот результат: ...

Как видно на скриншоте с результатом, все заголовки отображаются в одной строке.


person droider    schedule 30.04.2020    source источник


Ответы (2)


Проблема здесь в том, что вы пытаетесь перебрать сам элемент, в то время как то, что вы пытаетесь достичь, потребует перехода на один уровень вниз.

Тем не менее, вам нужно будет только изменить .ms-srch-group-content на .ms-srch-group-content > div[name=Item], и все будет работать, как ожидалось.

person Andrey Bykov    schedule 30.04.2020

Похоже, что .ms-srch-group-content - это селектор для содержимого группы, поэтому вы получаете одну запись, а не массив. Я думаю, вам нужно перейти к следующему div - .ms-srch-item

$('.ms-srch-item').each(function(){
person Sergio-fm    schedule 30.04.2020