You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#运行Playwright代码时弹出多个CMD窗口的问题求助

解决C# Playwright运行时弹出多个CMD窗口的问题

问题原因

Playwright启动Chromium等浏览器进程时,默认会弹出对应的控制台窗口,即便设置了Headless = true,底层进程的启动逻辑也可能导致CMD窗口出现。

解决方案

修改BrowserTypeLaunchOptions配置,添加Console = BrowserTypeLaunchConsoleOption.Hidden参数来隐藏控制台窗口,调整后的代码如下:

using (var playwright = await Playwright.CreateAsync())
{
    var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions() 
    { 
        Headless = true,
        Console = BrowserTypeLaunchConsoleOption.Hidden // 隐藏浏览器进程的控制台窗口
    }).ConfigureAwait(false);
    
    var browserPageOptions = new BrowserNewPageOptions() { JavaScriptEnabled = true };
    var page = await browser.NewPageAsync(browserPageOptions).ConfigureAwait(false);
    
    await page.GotoAsync(URL).ConfigureAwait(false);
    await page.WaitForRequestFinishedAsync();
    var SourceCode = await page.ContentAsync().ConfigureAwait(false);
    
    await page.CloseAsync().ConfigureAwait(false);
    await browser.CloseAsync().ConfigureAwait(false);
}

额外注意事项

  • 需使用Playwright 1.25及以上版本,Console属性是该版本后新增的配置项。
  • 若在Windows桌面应用(如WinForms/WPF)中运行,可额外尝试在启动选项中设置UseShellExecute = false和CreateNoWindow = true,不过优先使用Console属性即可解决绝大多数场景的问题。

内容的提问来源于stack exchange,提问作者Dorel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 06:27:03