I am trying to scrape the YouTube headline and link from a channel using Puppeteer. While executing the program, I am facing the Evaluation Error as following:
Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'innerText')
    at pptr://__puppeteer_evaluation_script__:10:65
    at ExecutionContext._ExecutionContext_evaluate (E:\somoy\node_modules\puppeteer-core\lib\cjs\puppeteer\common\ExecutionContext.js:229:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async ExecutionContext.evaluate (E:\somoy\node_modules\puppeteer-core\lib\cjs\puppeteer\common\ExecutionContext.js:107:16)
    at async initiate (E:\somoy\appNew.js:45:20)
    at async E:\somoy\appNew.js:155:9
async function initiate() {
    const browser = await puppeteer.launch({ headless: false, defaultViewport: null, userDataDir: './userdata', executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' });
    const page = await browser.newPage();
    page.setDefaultNavigationTimeout(0)
    await page.goto('https://www.youtube.com/@ProthomAlo/videos', { waitUntil: 'networkidle2' });
    await delay(5000);
    if (!fs.existsSync('storeLink.txt')) {
        //create new file if not exist
        fs.writeFileSync("storeLink.txt", '');
    }
    articleLinkarr = (fs.readFileSync('storeLink.txt', { encoding: 'utf8' })).split('\n')
    let articles = await page.evaluate(async (articleLinkarr) => {
        //console.log('Hello1')
        let arrObj = [];
        articles = document.querySelectorAll('.style-scope.ytd-rich-grid-media');
        for (let i = 0; i < articles.length; i++) {
            //for (let i = 0; i < 20; i++) {
                //const category = document.querySelector('.print-entity-section-wrapper.F93gk').innerText
                //const headline = articles[i].querySelector('div > h3').innerText
                const headline = articles[i].querySelector('h3').innerText
                const link = 'https://www.youtube.com' + articles[i].querySelector('a').getAttribute('href')
                // if (!(link.includes('video') || link.includes('fun') || link.includes('photo'))) {
                //     if (!articleLinkarr.includes(link)) {
                arrObj.push({ articleHeadline: headline, articleLink: link })
                //     }
                // }
    };
    return arrObj;
}, articleLinkarr)
}
 
    