强制谷歌浏览器的无头模式的截图分辨率

时间:2019-02-01 17:43:45

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

我有当在无头模式启动与Nightwatch和铬的问题。我已经设置了一个脚本来截取页面的屏幕截图,稍后将其与之进行比较,以找出它们之间的区别。我遇到的问题是,取决于运行脚本的计算机,屏幕快照始终是不同的,因为它们的分辨率不同。

下面是一个屏幕截图该Nightwatch在我的Mac捕获与视网膜显示。

Large screenshot

和这里是将其在CircleCI捕获时,它运行相同的脚本的一个:

Small screenshot

有没有办法在无头模式启动Chrome时执行的屏幕分辨率?我已经与其他图书馆,如木偶的工作,它似乎是全线一致。始终会注意窗口的宽度/高度,但是实际图像的大小是导致此处出现问题的原因。

下面是我的启动设置看起来像从我的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"
  }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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