Chromeless - получить все изображения с сайта - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь получить значения src для всех тегов img на странице HTML, используя Chromeless.Моя текущая реализация выглядит примерно так:

async function run() {
    const chromeless = new Chromeless();
    let url = 'http://someurl/somepath.html';

    var allImgUrls = await chromeless
        .goto(url)
        .evaluate(() => document.getElementsByTagName('img'));

    var htmlContent = await chromeless
        .goto(url)
        .evaluate(() => document.documentElement.outerHTML );

    console.log(allImgUrls);

    await chromeless.end()
}

Проблема в том, что я не получаю никаких значений объекта img в allImgUrls.

1 Ответ

0 голосов
/ 12 июня 2018

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

var imgSrcs = await chromeless
        .goto(url)
        .evaluate(() => {
            /// since document.querySelectorAll doesn't actually return an array but a Nodelist (similar to array)
            /// we call the map function from Array.prototype which is equivalent to [].map.call()
            const srcs = [].map.call(document.querySelectorAll('img'), img => img.src);
            return JSON.stringify(srcs);
        });
...