如何使用 chrome 选项将 window-size 设置为全屏 for headless-chrome?

How to set window-size to fullscreen for headless-chrome using chrome options?

在执行 UI 测试时,我收到一个错误,即 selenium 不支持 chrome 驱动程序的自动 window 大小调整,这会导致测试失败。

有没有办法使用 headless-chrome 的 chrome 选项进行设置?

我尝试了以下方法,

ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");

此外,将 "--start-maximized" 替换为 "--start-fullscreen""--kiosk"

但是上面的 none 对我有用,唯一对我有用的选项是 "--window-size=width,height".

我不想硬编码宽度和高度的值,有什么方法可以设置全屏吗?

问题是无头模式是在没有屏幕的计算机上使用的,所以即使你有屏幕,它也无法确定你的屏幕尺寸。唯一的方法是您将该信息传递给浏览器 --window-size.

无头模式下的默认 window 大小和显示大小在所有平台上都是 800x600。

因此最大化 window 大小不适用于 chrome-headless 并且需要由用户明确设置(如果需要)。

这对我有用driver.manage().window().setSize(new Dimension(1600,700));

还有一个选择。代替 --start-maximized 选项,你可以这样做:

WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();

它对我有用,我已经用 6000x6000 window 尺寸测试过它。 以下答案有帮助。

c#代码

    var options = new ChromeOptions(); 
    options.AddArgument("no-sandbox");
    options.AddArgument("headless");
    options.addArguments("window-size=1920,1080");
    IWebDriver _driver= new ChromeDriver($@"path to chrome web driver folder", options, TimeSpan.FromSeconds(130))

;