Кукловод не смог запустить процесс браузера в GoormIDE - PullRequest
0 голосов
/ 27 мая 2020
const puppeteer = require ('puppeteer');

async function scrapeA (url) {
    return new Promise (async (resolve, reject) => {
        try{
            **const browser = await puppeteer.launch();**

            const page = await browser.newPage();
            await page.goto(url)
            page.$eval('#city', elem => elem.click());

            const [el] = await page.$x('//*[@id="content"]/div[1]/div[2]/h1/a');
            const txt1 = await el.getProperty('innerText');
            const nameA =  await txt1.jsonValue();

            const [el2] = await page.$x('//*[@id="offerPrice_328504"]');
            const txt2 = await el2.getProperty('innerText');
            const priceA =  await txt2.jsonValue();

            const [el3] = await page.$x('//*[@id="inventoryTableBody"]/div[5]/div[3]/span[1]');
            const txt3 = await el3.getProperty('innerText');
            const quantA =  await txt3.jsonValue();

            const [el4] = await page.$x('//*//*[@id="inventoryTableBody"]/div[5]/div[2]/text()[1]');
            const txt4 = await el4.getProperty('textContent');
            const locA =  await txt4.jsonValue();

            console.log({nameA},{priceA},{quantA},{locA});

            browser.close();
            return resolve();
        } catch (e) {
            return reject(e);
        }    
    })
}
scrapeA(webpageurl);

Этот код работает в моем редакторе кода. Я пытаюсь создать для этого какую-то внутреннюю часть, поэтому я переместил ее в свой GoormIDE. Процесс браузера не запускается

Я пробовал все комбинации двух разных пакетов: puppeteer и puppeteer-core

и 3 разных настройки запуска:

const browser = await puppeteer.launch();
const browser = await puppeteer.launch({headless: false}); 
const browser = await puppeteer.launch({ignoreDefaultArgs: ['--disable-extensions']});

1 Ответ

0 голосов
/ 27 мая 2020

Установите недостающие пакеты, используя

apt-get install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev

И попробуйте это

const browser = await puppeteer.launch({ args: ['--no-sandbox'] });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...