簡體   English   中英

Puppeteer-sharp:頁面從 browser.NewPageAsync() 崩潰

[英]Puppeteer-sharp: page is crashed from browser.NewPageAsync()

我正在使用 Puppeteer-sharp 的示例代碼,但在調用browser.NewPageAsync()時遇到超時錯誤。 然后我打開Devtools看到頁面在 Chromium 中崩潰了。

var browserFetcher = new BrowserFetcher();
await browserFetcher.DownloadAsync();
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
    Headless = true,
    Devtools = true
});

// page is crashed in Chromium and timeout after 5 mins
var page = await browser.NewPageAsync();

await page.GoToAsync("http://www.google.com");

await page.DisposeAsync();
await browser.DisposeAsync();

*PuppeteerSharp 版本為 4.0.0

應該是由於 PuppeteerSharp 需要在 Azure 中的 Linux 系統上運行(可以通過編碼下載和安裝 Chromium)。 如果想在 Windows 上測試,需要預先安裝 Chrome/Chromium 並在LaunchOptions中添加ExecutablePath

// DEBUG: for running on local
ExecutablePath = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"

如果您有其他解決方案,請分享。

您可以在故障排除期間嘗試的其他幾件事:

  • 確保處理所有正在打開的頁面和瀏覽器(正如我在評論中建議的那樣)。
  • 嘗試在您的--full-memory-crash-report標志(和其他與崩潰處理相關的標志),以更深入地了解您的執行出了什么問題。 您可以從字面上對您的執行進行小型轉儲以了解問題。 Chromium 標志的完整列表可以在這里找到: Chromium 命令行標志
  • 確保垃圾收集沒有任何問題。 由於它只是一個示例代碼,因此您必須確保自己添加了干凈/優化執行所需的所有必要代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM