Независимо от того, что я пробовал, я всегда получаю, что executablePath не определен. К сожалению, в гугле мало информации по этому поводу. Было бы здорово, если бы кто-нибудь мог сообщить мне, где копать глубже, чтобы решить эту ошибку. ревизияИнфо возвращает неопределенное значение.
Ошибка
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)
Исходный код
const puppeteer = require('puppeteer');
const demo1 = async () => {
try {
const browserFetcher = puppeteer.createBrowserFetcher();
console.info(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();



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Судя по вашему сообщению об ошибке, проблема в этой строке
executablePath: revisionInfo.executablePath,
где revisionInfo не определено, что означает, что это не дает вам нужных данных:
const revisionInfo = await browserFetcher.download('970485');
Если вам действительно нужен конкретный executablePath, вам нужно убедиться, что revisionInfo получает желаемое значение.
В противном случае вы можете просто удалить строку executablePath: revisionInfo.executablePath, и позволить puppeteer использовать браузер Chrome по умолчанию.
Посмотрите на две вещи
Любой из них решил мою проблему. Код остался прежним.