【问题标题】:Enforce screenshot resolution with Google Chrome Headless mode使用 Google Chrome Headless 模式强制执行屏幕截图分辨率
【发布时间】:2019-02-01 17:43:45
【问题描述】:

我在 Nightwatch 和 Chrome 以无头模式启动时遇到问题。我已经设置了一个脚本来截取我的页面的屏幕截图,稍后我会与这些屏幕截图进行比较,以找出它们之间的区别。我遇到的问题是,根据运行我的脚本的机器,屏幕截图总是不同的,因为它们的分辨率不同。

这是 Nightwatch 在我的带有视网膜显示屏的 Mac 上截取的屏幕截图。

这是 CircleCI 在运行相同脚本时捕获的:

在无头模式下启动 Chrome 时,有没有办法强制屏幕分辨率?我曾与 Puppeteer 等其他库合作过,它似乎是一致的。窗口的宽度/高度始终受到尊重,但实际图像的大小是导致问题的原因。

这是我的 Nightwatch 配置文件中的启动设置:

"chrome_launch" : {
  "launch_url" : "https://localhost:8000",
  "globals" : {
    "abortOnAssertionFailure": false,
    "env" : "local"
  },
  "desiredCapabilities": {
    "chromeOptions" : {
      "args" : ["window-size=1280,2480", "headless", "disable-gpu", "hide-scrollbars"]
    },
    "resolution": "1440x900"
  }
}

任何帮助将不胜感激。

【问题讨论】:

    标签: google-chrome nightwatch.js google-chrome-headless


    【解决方案1】:

    我遇到了同样的问题,在 chrome 中传递这个参数 --force-device-scale-factor=1 对我有用:

    google-chrome --headless --force-device-scale-factor=1 --window-size=1200,800

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 2020-02-25
      相关资源
      最近更新 更多