alixaxel / chrome-aws-lambda

Chromium Binary for AWS Lambda and Google Cloud Functions
MIT License
3.17k stars 289 forks source link

[BUG] Error: Cannot find module 'node_modules\puppeteer-core\lib\cjs\puppeteer\common\Browser' #276

Closed aeristhy closed 2 years ago

aeristhy commented 2 years ago

Environment

Current Behavior

[2022-05-26 12:13:38]: ERROR Unhandled Rejection/Catch Error: Cannot find module 'C:\Users\admin\Desktop\Codes\dota-coach-bot\node_modules\puppeteer-core\lib\cjs\puppeteer\common\Browser'

const chromium = require('chrome-aws-lambda');

async function test(url) {
            const browser = await chromium.puppeteer.launch({
                executablePath: await chromium.executablePath,
                headless: chromium.headless,
            });
            const page = await browser.newPage();
            await page.goto(url);

            const [dota2] = await page.$x('/html/body/div[2]/div[2]/div[1]/div/div[10]/span[2]');
            const txt = await dota2.getProperty('textContent');
            const rawText = await txt.jsonValue();

            const [steamwebapi] = await page.$x('/html/body/div[2]/div[2]/div[1]/div/div[6]/span[2]');
            const txt2 = await steamwebapi.getProperty('textContent');
            const rawText2 = await txt2.jsonValue();

            const [wholepage] = await page.$x('/html/body/div[2]/div[2]/div[1]/div');
            await wholepage.screenshot({ path: './assets/screenshots/stats.png' });

            const file = new MessageAttachment('./assets/screenshots/stats.png');
            const embed = new MessageEmbed()
                .setTitle('Steam Status')
                .setURL('https://steamstatus.com/')
                .addFields(
                    { name: '<:dota2:979197867774312539> Dota 2 Coordinator', value: `${rawText}`, inline: false },
                    { name: '<:steam:979198111102685194> Steam Web API', value: `${rawText2}`, inline: false },
                )
                .setImage('attachment://stats.png')
                .setFooter({ text: 'This is an Automated Message' });

            message.channels.cache.get('979217012465233960').send({ embeds: [embed], files: [file] }).then(async (m) => {
                setTimeout(() => m.delete(), 10000);
            });
            console.log({ rawText });
            await browser.close();
        }
        test('https://steamstat.us/');
tarasromil commented 2 years ago

Have the same issue with puppeteer v14

aosbornee commented 2 years ago

Same issue on my end, would downgrading to a specific version help?

tarasromil commented 2 years ago

13.7.0 works fine for me

aeristhy commented 2 years ago

@sparticuz/chrome-aws-lambda is the fix for this

experionsachin commented 1 year ago

The latest repository is https://www.npmjs.com/package/@sparticuz/chromium. Working well with node 18 and AWS Lambda.