控制台应用程序关闭时,Puppeteer-Sharp在Process Task Manager中仍然显示许多Chrome实例

时间:2018-11-19 03:33:49

标签: puppeteer-sharp

使用木偶时出现问题: 我构建了一个控制台应用程序以使用puppeteer抓取数据,但是当我的应用程序关闭时,我仍然看到Processes Task Manager中出现许多铬。 您能帮我解决这个问题吗? 谢谢!

enter image description here

2 个答案:

答案 0 :(得分:1)

确保正确使用浏览器实例以及页面实例。每个打开的页面都需要关闭(配置),浏览器也要关闭。

正确用法示例:

        var browser = await Puppeteer.LaunchAsync(new LaunchOptions()
        {
            ExecutablePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
        });

        var htmlPage = await browser.NewPageAsync();

        await htmlPage.GoToAsync(url);
        await htmlPage.PdfAsync(path, pdfOptions);
        await htmlPage.CloseAsync();
        await browser.CloseAsync();

在此示例中,我启动浏览器实例,使用指定的URL打开一个页面,使用pdfOptions将其内容下载到路径,正确关闭页面并正确关闭浏览器。完成这些步骤后,任务管理器中将没有chrome实例。

如果不清楚,请随时询问:)

答案 1 :(得分:1)

您应该使用using块包装浏览器的创建。像这样:

using(var browser = new await Puppeteer.LaunchAsync())
{
     // your code here...
}