1

我尝试了下面的代码,但无法得到 Chromium 控制台中显示的实际错误。如何获得错误处理的实际错误?

using var browser = await Puppeteer.LaunchAsync(new LaunchOptions {
    Headless = true,
    ExecutablePath = _browserFetcher.RevisionInfo(BrowserFetcher.DefaultChromiumRevision).ExecutablePath,
    Devtools = true // DEBUG: show page content in browser
});
using var page = await browser.NewPageAsync();

page.PageError += (sender, e) => {  // cannot catch the error statement
    log.LogError("PageError=" + e.Message); // Step3: e.Message is null
    throw new ProcessException(e.Message);
};

 // Goto target page
await page.GoToAsync(htmlFilePath);

await page.WaitForFunctionAsync("async () => !!(window.Ext && Ext.isReady && window.App && App.app)");

await page.EvaluateFunctionAsync("async (abc) => {" +
    " ... " + // logic for prepare PDF content
"}", abcObject);

// Step1: error show in Chromium's console, but not call `page.PageError` yet

await page.WaitForFunctionAsync("async () => App.pdf.ready"); // Step2: call `page.PageError`
4

0 回答 0