我正在使用 puppeteer-sharp 将一些页面呈现为 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()
这些 args,但这似乎会导致一些异步怪异,破坏 devtools 协议,因为我开始收到超时错误,然后错误抱怨网络套接字被破坏。
看来这是 puppeteer 本身的问题:https ://github.com/GoogleChrome/puppeteer/issues/3397