Как в puppeteer слушать обновление DOM элементов на странице?

const puppeteer = require('puppeteer');
const path = require('path')
const fs = require('fs');

    async function main() {
        let browser = await puppeteer.launch(
            {
                headless: false,
                args: [
                    '--disable-web-security',
                    '--disable-features=IsolateOrigins,site-per-process',
                    `--window-size=1200,1200`,
                    "--window-position=000,000",
                    "--disable-dev-shm-usage",
                    "--no-sandbox",
                    "--disable-web-security",
                    "--disable-features=site-per-process",
                ]
            });
        let page = await browser.newPage();
        await page.goto('https://example.com');
        await page.waitForSelector('[data-peer-id*="27072"]');
    }


    main().catch((e) => {
        throw e
    })

У меня на странице есть несколько div блоков доступных по маске [data-peer-id*="27072"] Время от времени на странице появляются новые блоки, подскажите как я могу увидеть изменение в DOM дереве (что были добавлены новые блоки [data-peer-id*="27072"])

И Вызвать функцию при обновлении страницы - передав туда этот элемент?

Пытался сделать так: https://github.com/puppeteer/puppeteer/issues/3719 но там код с ошибкой, не смог воспроизвести код.

UPDATE: Нашел как задетектить изменения, но не понял как вызвать функцию внутри puppeteer

async function main() {
    let browser = await puppeteer.launch(
        {
            headless: false,
            args: [
                '--disable-web-security',
                '--disable-features=IsolateOrigins,site-per-process',
                `--window-size=1200,1200`,
                "--window-position=000,000",
                "--disable-dev-shm-usage",
                "--no-sandbox",
                "--disable-web-security",
                "--disable-features=site-per-process",
            ]
        });
    let page = await browser.newPage();
    await page.goto('https://example.com');
    await page.waitForSelector('[data-peer-id*="27072"]');
    await page.evaluate(() => {
        document.querySelector('section[class*="bubbles-date-group"]').addEventListener ("DOMSubtreeModified", function(e) {
            console.log('Update');
        })
    });
}


Ответы (0 шт):