【问题标题】:Cannot Resize Headless Chrome无法调整无头 Chrome 的大小
【发布时间】:2018-04-01 23:59:07
【问题描述】:

由于 chrome 以 800x600 的尺寸打开,我的所有测试都失败了。我查看了几个站点以寻求解决方案,但我尝试过的任何方法似乎都没有奏效。

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--window-size=1920,1080");
DesiredCapabilities cap = DesiredCapabilities.chrome();     
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, options);
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.WINDOWS);
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), cap);

【问题讨论】:

  • 您是否尝试过使用options.addArguments("--start-maximized");
  • 没有效果。我是否应该担心不匹配的功能。创建我在开始测试时看到的合成 w3c 功能
  • 我能提供的唯一其他建议是尝试执行屏幕截图。
  • 我一直在使用的框架会在失败时自动截屏。这就是我能够确定它当前的分辨率的方式。
  • 而且图片看起来正常?具体来说,报告的“失败”是什么?为什么首先要调整无头浏览器测试的一部分?这可能过于简单,但如果确定用于测试的浏览器被确定为无头,则可能需要跳过调整浏览器大小的步骤?

标签: java google-chrome selenium grid


【解决方案1】:

在 selenium 网格中,我使用以下对我有用的代码。

ChromeOptions options = new ChromeOptions();
options.addArguments(Arrays.asList("--window-position=0,0"));
options.addArguments(Arrays.asList("--window-size=1840,1080"));

【讨论】:

    【解决方案2】:

    Java 不需要--

    options.addArguments("window-size=1920,1080");
    

    How to set the browser window size when using `google-chrome --headless`?

    【讨论】:

      【解决方案3】:

      您显然无法在 headless 模式下调整 chrome 的大小。 如果我没记错的话。

      "options.addArguments("--headless");"

      我还假设您正在使用 chromedriver

      https://bugs.chromium.org/p/chromedriver/issues/detail?id=1625#c39

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-11
        • 2020-09-25
        • 2012-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-05
        相关资源
        最近更新 更多