Я использую «Кукольник» для рендеринга некоторых страниц в формате PDF. Я хотел бы знать, есть ли какие-либо проблемы с отображением страницы во время выполнения в браузере, поэтому я настроил некоторые обработчики событий:
_page.Error += (sender, args) =>
{
_logger.LogCritical(args.Error);
};
_page.PageError += (sender, args) =>
{
_logger.LogError(args.Message);
};
_page.Console += (sender, args) =>
{
switch (args.Message.Type)
{
case ConsoleType.Error:
_logger.LogError(args.Message.Text);
break;
case ConsoleType.Warning:
_logger.LogWarning(args.Message.Text);
break;
default:
_logger.LogInformation(args.Message.Text);
break;
}
};
Когда я получаю сообщение об ошибке на странице, args.Message.Text
, кажется, просто содержит "ERROR JSHandle@error"
. Это не очень полезно.
Я проверил нормальное console.log
на странице, и это нормально регистрируется, похоже, проблема с ошибками.
Что мне нужно сделать, чтобы извлечь из этих ошибок что-то читаемое?
Обновление: я попытался получить доступ к args.Message.Args
и использовать JsonValueAsync()
в этих аргументах, но это, кажется, вызывает некоторую асинхронную странность, которая нарушает протокол devtools, потому что я начал получать ошибки тайм-аута, а затем ошибки, жалующиеся на повреждение веб-сокетов.
Похоже, это проблема самого кукловода: https://github.com/GoogleChrome/puppeteer/issues/3397