google-chrome - 使用 Google Chrome Headless 模式强制执行屏幕截图分辨率
问题描述
我在 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"
}
}
任何帮助将不胜感激。
解决方案
我遇到了同样的问题,--force-device-scale-factor=1
在 chrome 中传递这个参数对我有用:
google-chrome --headless --force-device-scale-factor=1 --window-size=1200,800
推荐阅读
- spring - Spring Reactive Mongo Router Handler中的UpdateById方法
- api - 使用 Blogger API 插入的一些帖子未显示在主页上
- excel - excel长嵌套if
- ruby - 在Ruby中将mac地址转换为IPv6链接本地地址
- c# - TransactionScope 还原存储过程更改
- entity-relationship-model - 映射子类和常规实体之间的关系,以及映射两个子类之间的关系
- reactjs - 路由在我的“/about”代码中不起作用,而主页工作
- c# - 如何在 Visual Studio 2019 中添加 .mdf 文件?
- eclipse - 如何在 eclipse/lib GDX 中将代码导出到可运行的 JAR 中?
- python - 如何在python中结合日语和拉丁语对字符串列表进行排序