【发布时间】:2019-07-09 19:14:03
【问题描述】:
我正在使用 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 并在这些 args 上使用 JsonValueAsync(),但这似乎会导致一些异步怪异,这会破坏 devtools 协议,因为我开始收到超时错误,然后错误抱怨网络套接字被破坏。
这似乎是 puppeteer 本身的问题:https://github.com/GoogleChrome/puppeteer/issues/3397
【问题讨论】:
标签: c# error-handling puppeteer puppeteer-sharp