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

如何在Playwright C#中启动全屏(最大化)浏览器

在Playwright/C#中实现浏览器最大化的有效方法

针对你遇到的问题,这里提供几个可靠的实现方式:

方法一:正确配置--start-maximized参数并禁用默认视口

你之前尝试的--start-maximized参数无效,大概率是因为Playwright默认会设置固定视口尺寸,覆盖了浏览器的最大化状态。需要在启动浏览器时添加该参数,同时在创建页面时禁用默认视口:

public async Task pageLaunchTest()
{
    using var playwright = await Playwright.CreateAsync();

    await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
    {
        Args = new string[] { "--start-maximized" },
        Headless = false,
    });

    // 创建页面时禁用默认视口,让浏览器的最大化设置生效
    var page = await browser.NewPageAsync(new BrowserNewPageOptions
    {
        ViewportSize = null
    });
    
    await page.GotoAsync("https://playwright.dev/");
    var pageTitle = await page.TitleAsync();
    Assert.Equal("Fast and reliable end-to-end testing for modern web apps | Playwright", 
        pageTitle);
}

方法二:直接调用窗口最大化方法

如果方法一仍不生效,可以在创建页面后直接调用窗口的MaximizeAsync方法:

public async Task pageLaunchTest()
{
    using var playwright = await Playwright.CreateAsync();

    await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
    {
        Headless = false,
    });

    var page = await browser.NewPageAsync();
    // 直接触发窗口最大化
    await page.Window.MaximizeAsync();
    
    await page.GotoAsync("https://playwright.dev/");
    var pageTitle = await page.TitleAsync();
    Assert.Equal("Fast and reliable end-to-end testing for modern web apps | Playwright", 
        pageTitle);
}

关键注意事项

  • 确保Headless设置为false,无头模式下浏览器无可视化窗口,最大化设置无意义。
  • 不要同时使用SetViewportSizeAsync和最大化相关设置,前者会固定视口尺寸,覆盖最大化状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:20:30