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

C# NUnit中使用Playwright如何实现Chrome浏览器窗口最大化

C# 中配置Playwright启动Chrome最大化的实现方法

以下两种方案均适配C#版Playwright,可直接套用:

  • 方案1:通过Chrome原生启动参数实现(推荐,启动即最大化,无窗口尺寸跳变)
    实现逻辑是在启动Chromium时传入Chrome内置的最大化启动参数,必须同步将浏览器上下文的视口配置设为null,否则固定视口配置会覆盖启动参数的效果。
    修正后的完整测试代码:
public async Task Test1()
{
    using var playwright = await Playwright.CreateAsync();
    await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
    {
        Headless = false,
        // 传入Chrome原生最大化启动参数
        Args = new[] { "--start-maximized" }
    });
    var context = await browser.NewContextAsync(new BrowserNewContextOptions
    {
        // 必须取消固定视口配置,否则最大化参数不生效
        ViewportSize = null
    });
    var page = await context.NewPageAsync();
    await page.GotoAsync("https://google.com/");
}
  • 方案2:运行过程中动态调整为最大化
    如果需要在页面操作中途切换为最大化状态,可以先获取当前主屏幕的分辨率,再通过Playwright接口修改视口尺寸:
    如果是WPF项目,直接调用系统参数接口即可:
// 页面加载完成后调用
int width = (int)SystemParameters.PrimaryScreenWidth;
int height = (int)SystemParameters.PrimaryScreenHeight;
await page.SetViewportSizeAsync(width, height);

如果是控制台项目,先引用System.Windows.Forms程序集,再通过屏幕类获取尺寸:

int width = Screen.PrimaryScreen.Bounds.Width;
int height = Screen.PrimaryScreen.Bounds.Height;
await page.SetViewportSizeAsync(width, height);

踩坑提示:不要只添加--start-maximized启动参数而跳过ViewportSize=null的配置,这是网上大部分零散教程没提到的关键点,漏了这步配置窗口永远不会最大化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:27:28