如何修复 "Failed to launch chrome!"
How to fix "Failed to launch chrome!"
我正在尝试使用 puppeteer 查询网站,但出现错误:
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);
}
})();
你好像忘了把 args
放在对象中:
const browser = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
我也有这个问题。确保您已更新到 nodejs 版本 14。如果它从那里不起作用,请安装缺少的软件包(请在此处查看如何安装它们:https://medium.com/@ssmak/how-to-fix-puppetteer-error-while-loading-shared-libraries-libx11-xcb-so-1-c1918b75acc3)。除了添加 Yevhen 上面提到的附加参数 (args)。
我正在尝试使用 puppeteer 查询网站,但出现错误:
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);
}
})();
你好像忘了把 args
放在对象中:
const browser = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox'],
});
我也有这个问题。确保您已更新到 nodejs 版本 14。如果它从那里不起作用,请安装缺少的软件包(请在此处查看如何安装它们:https://medium.com/@ssmak/how-to-fix-puppetteer-error-while-loading-shared-libraries-libx11-xcb-so-1-c1918b75acc3)。除了添加 Yevhen 上面提到的附加参数 (args)。