Independientemente de lo que intenté, siempre obtengo ejecutablePath no está definido. Desafortunadamente, no hay mucha información sobre esto en Google. Sería genial que alguien pudiera decirme dónde profundizar para resolver este error. revisionInfo está devolviendo indefinido.
Error
BrowserFetcher { _product: 'chrome', _downloadsFolder: '/var/www/node_modules/puppeteer/.local-chromium', _downloadHost: 'https://storage.googleapis.com', _platform: 'linux' } TypeError: Cannot read property 'executablePath' of undefined at demo1 (/var/www/filename.js:10:36)Código fuente
const puppeteer = require('puppeteer'); const demo1 = async () => { try { const browserFetcher = puppeteer.createBrowserFetcher(); console.log(browserFetcher); const revisionInfo = await browserFetcher.download('970485'); const browser = await puppeteer.launch({ headless: false, executablePath: revisionInfo.executablePath, args: ['--window-size=1920,1080', '--disable-notifications'], }); const page = await browser.newPage(); await page.setViewport({ width: 1080, height: 1080, }); await page.goto('https://example.com', { waitUntil: 'networkidle0', }); await page.close(); await browser.close(); } catch (e) { console.error(e); } }; demo1();Según su mensaje de error, el problema está en esta línea
executablePath: revisionInfo.executablePath, donde revisionInfo no está definido, lo que significa que esto no le brinda los datos que desea:
const revisionInfo = await browserFetcher.download('970485'); Si realmente necesita un executablePath específico, debe asegurarse de que revisionInfo obtenga el valor que desea.
De lo contrario, puede simplemente eliminar la línea executablePath: revisionInfo.executablePath, y dejar que el titiritero use su navegador de cromo predeterminado.
Mira dos cosas
Cualquiera de los dos resolvió mi problema. El código seguía siendo el mismo.