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

时间:2017-06-28 07:30:35

标签: java google-chrome selenium-webdriver google-chrome-headless

执行UI测试时,我收到一个错误,即selenium不支持chromedriver的自动窗口大小调整,导致测试失败。

有没有办法使用headless-chrome选项设置此项?

我尝试了以下内容,

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

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

但以上都没有对我有用,对我有用的唯一选择是"--window-size=width,height"

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

4 个答案:

答案 0 :(得分:6)

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

无头模式下的默认窗口大小和显示大小在所有平台上均为800x600。

因此,最大化的窗口大小不适用于chrome-headless,如果需要,需要由用户明确设置。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

还有另一种选择。您可以执行以下操作来代替--start-maximized选项:

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

答案 3 :(得分:0)

它对我有用,我用 6000x6000 的窗口大小对此进行了测试。 下面的答案有帮助。 link

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))

;