Как исправить ошибку «Не удалось запустить Chrome!» - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь сделать запрос на сайт с кукловодом, и я получаю ошибку:

Error: Failed to launch chrome!
[0711/174138.253701:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

Я пытался дать следующие аргументы

puppeteer.launch(args: ['--disable-setuid-sandbox'])
puppeteer.launch(args: ['--no-sandbox'])

Но это не работает. Похоже, проблема с браузером. Я не знаю что делать

Мой код:

const puppeteer = require('puppeteer');
const url = "https://www.google.com.ar";

(async () => {
  try{
    const navegador = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']}); //Lanzo el chrome
    const pestaña = await navegador.newPage();//abro una nueva pestaña
    await pestaña.goto(url); //paso la url

    let tabla = await pestaña.evaluate(() => {

      const titulos = [
        ...document.querySelectorAll(".descrip_container")
      ].map((map_titulo) => map_titulo.innerText);
      //los "..." hace que en la pestaña se abra la consola
      const precios = [
        ...document.querySelectorAll(".atg_store_newPrice")
      ].map((map_precio) => map_precio.innerText);

      return productos.map((titulo, i) => ({titulos: titulo, precios: precios[i]}));
    })
    console.log(tabla);


    await navegador.close();

  }
  catch(error){
    console.log(error);
  }
})();

1 Ответ

1 голос
/ 12 июля 2019

Похоже, вы забыли поместить args в объект:

    const browser = await puppeteer.launch({
      args: ['--no-sandbox', '--disable-setuid-sandbox'],
    });
...