在使用 Java 的 Playwright 时,可以通过配置浏览器窗口的大小来实现“最大化”效果。虽然 Playwright 本身没有直接提供一个“最大化”窗口的方法,但我们可以通过设置窗口尺寸为屏幕的分辨率来间接实现。

以下是实现的方法:

方法 1:设置窗口大小参数(推荐)

Playwright 支持通过启动浏览器时传递参数来设置窗口大小。

示例代码:

import com.microsoft.playwright.*;

public class MaximizeBrowser {
    public static void main(String[] args) {
        // 创建 Playwright 实例
        try (Playwright playwright = Playwright.create()) {
            // 启动浏览器并设置窗口大小
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
                    .setHeadless(false)
                    .setArgs(new String[]{"--start-maximized"})); // 启动时直接最大化

            // 创建新页面
            BrowserContext context = browser.newContext(new Browser.NewContextOptions()
                    .setViewportSize(null)); // 设置为 null 以禁用默认的 viewport 限制
            Page page = context.newPage();

            // 打开网址
            page.navigate("https://example.com");

            // 其他操作...
        }
    }
}

方法 2:获取屏幕分辨率并设置窗口大小

如果需要更精确地控制窗口大小,可以通过 Java 调用屏幕分辨率,然后手动设置浏览器窗口的大小。

示例代码:

import com.microsoft.playwright.*;
import java.awt.*;

public class MaximizeBrowser {
    public static void main(String[] args) {
        // 获取屏幕分辨率
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int width = (int) screenSize.getWidth();
        int height = (int) screenSize.getHeight();

        // 创建 Playwright 实例
        try (Playwright playwright = Playwright.create()) {
            // 启动浏览器
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
                    .setHeadless(false));

            // 创建新页面并设置窗口大小
            BrowserContext context = browser.newContext(new Browser.NewContextOptions()
                    .setViewportSize(width, height)); // 设置窗口大小为屏幕分辨率
            Page page = context.newPage();

            // 打开网址
            page.navigate("https://example.com");

            // 其他操作...
        }
    }
}

方法 3:运行时调整窗口大小

你还可以在页面加载后,动态调整窗口大小。

示例代码:

import com.microsoft.playwright.*;
import java.awt.*;

public class MaximizeBrowser {
    public static void main(String[] args) {
        // 获取屏幕分辨率
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int width = (int) screenSize.getWidth();
        int height = (int) screenSize.getHeight();

        // 创建 Playwright 实例
        try (Playwright playwright = Playwright.create()) {
            // 启动浏览器
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
                    .setHeadless(false));
            BrowserContext context = browser.newContext();
            Page page = context.newPage();

            // 动态设置窗口大小
            page.setViewportSize(width, height);

            // 打开网址
            page.navigate("https://example.com");

            // 其他操作...
        }
    }
}

总结

  • 使用 --start-maximized 参数是最简单的方法。
  • 如果需要动态调整,可以结合 Java 的 Toolkit 获取屏幕分辨率,然后设置窗口大小。
  • 设置 viewportSizenull 可以禁用 Playwright 默认的视口限制,从而全屏显示。