Google Chrome Omnibox (адресная строка) имеет встроенную функциональность для обработки множества сложностей, таких как: добавление протоколов, автозаполнение и т. Д.
Puppeteer предоставляет API для управления Chrome или Chromium через Протокол DevTools , поэтому большая часть этой функциональности в настоящее время выходит за рамки Puppeteer.
Документация Puppeteer для функции page.goto()
прямо заявляет:
URL должен включать схему, например, https://
.
Это связано с тем, что page.goto()
использует Page.navigate
из протокола Chrome DevTools.
Исходный код Chromium показывает, что навигация с помощью Page.navigate
явно проверена на действительность, и если URL-адрес недействителен, он вернет ошибку «Невозможно перейти к недопустимому URL-адресу».
Вы можете легко создать функцию в Node.js, которая будет добавлять протоколы к URL-адресам, и это может стать решением вашей проблемы.