Элемент списка слоя данных с кукловодом

#node.js #web-scraping #google-cloud-platform #puppeteer #google-datalayer

# #node.js #очистка веб-страниц #google-облачная платформа #кукловод #google-слой данных

Вопрос:

благодаря puppeteer я создаю бот для очистки веб-страниц, и я хочу проверить поле слоя данных на некотором URL-адресе благодаря облачным функциям в Google Cloud Plateform.

прямо сейчас я использую await page.$('dataLayer') , и он возвращает «true», поэтому он находит слой данных.

в моем браузере есть слой данных (не puppeteer) Слой данных

мой код:

 exports.datalayer = async(page) => {
    //verfify if there is a dataLayer
    let dl = await page.$('dataLayer')
    if(dl =! null){
        console.log('DataLayer found')
        
        //want to do something like that 
        for(let key in dl){
            let value = dl[key]
            console.log('key: '   key   ' value: '   value)
        }
        //or like that
        dl.forEach(element => {
            console.log(element)
        });

    }else{
        console.log('error with the dataLayer')
    }
}
 

Для того, чтобы перехватить данные OnetrustActiveGroups.

когда я выполняю метод forEach, я получаю эту ошибку:

журнал

и для метода for я получаю эту ошибку:

log2

Ответ №1:

лучше используйте page.evaluate('dataLayer') then stringify или используйте его по своему усмотрению 🙂

и с оценкой for(let item in dl) работает нормально!