Ошибка "TypeError: Failed to fetch browser webSocket URL from https://localhost:19743/json/version: fetch failed" указывает на то, что Puppeteer не смог соединиться с удаленным браузером. Это может быть вызвано несколькими причинами:
1. **Подключение по протоколу HTTPS вместо HTTP**: Обычно когда вы подключаетесь к браузеру через Puppeteer, вы используете протокол HTTP, но в вашем примере используется HTTPS. Убедитесь, что подключение по HTTPS действительно необходимо и правильно настроено, включая валидные SSL/TLS сертификаты. Если HTTPS не требуется, попробуйте использовать HTTP вместо HTTPS в строке подключения.
2. **Проблемы с SSL/TLS сертификатом**: Если подключение действительно должно быть защищенным (то есть через HTTPS), но сертификат не доверенный или неправильно сконфигурированный, это может вызвать ошибку. Вы можете попробовать добавить опцию `ignoreHTTPSErrors: true` в параметры подключения, чтобы игнорировать ошибки с сертификатами.
3. **Неправильная конфигурация Vision API**: Убедитесь, что Vision API настроен правильно, чтобы принимать подключения от Puppeteer, и что нет никаких брандмауэров, блокирующих доступ.
4. **Проблема с сетевым подключением**: Если порт находится в статусе "LISTENING", но всё равно не удаётся подключиться, проверьте, нет ли сетевых ограничений или брандмауэра, который мог бы блокировать подключения к этому порту.
5. **Отсутствие метода `await` перед загрузкой страницы**: В вашем примере кода вы забыли использовать `await` при вызове `page.goto('https://google.com')`, что может привести к другим ошибкам при выполнении.
Пример исправленного кода:
```javascript
const example = async (port) => {
const browser = await puppeteer.connect({
browserURL: 'http://localhost:' + port, // Используйте http если не требуется подключение по https
ignoreHTTPSErrors: true, // Если вы до сих пор хотите использовать https и есть проблемы с сертификатом
defaultViewport: null,
});
const page = await browser.newPage(); // Создаем новую вкладку
await page.goto('https://google.com'); // Загружаем страницу, не забудьте про await
};
```
Чтобы исключить ошибки конфигурации API Vision, убедитесь, что у вас есть доступ к документации API и что вы следуете инструкциям для подключения к API правильно.
Если вы продолжаете сталкиваться с проблемами, попробуйте увидеть более подробные логи или сообщения об ошибке, которые могут указать на конкретную проблему. Иногда помогает проверка логов Vision API, чтобы увидеть, есть ли какие-либо записи о попытках подключения.