【问题标题】:How to set window-size to fullscreen for headless-chrome using chrome options?如何使用 chrome 选项将无头 chrome 的窗口大小设置为全屏?
【发布时间】:2017-12-01 10:43:17
【问题描述】:

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

有没有办法使用 chrome-options 为 headless-chrome 设置这个?

我已经尝试了以下,

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

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

但以上方法都不适合我,唯一适合我的选择是"--window-size=width,height"

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

【问题讨论】:

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


【解决方案1】:

它对我有用,我已经用 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))

;

【讨论】:

    【解决方案2】:

    还有另一种选择。而不是--start-maximized 选项,您可以这样做:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        headless 模式下的默认窗口大小和显示大小在所有平台上都是 800x600。

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

        【讨论】:

          猜你喜欢
          • 2022-06-18
          • 1970-01-01
          • 2019-07-27
          • 2019-08-03
          • 2017-09-18
          • 1970-01-01
          • 2017-08-31
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多