PhantomJS 图像捕获不同尺寸的图像,尽管页面内容不变

PhantomJS image captures images of different dimensions despite constant page content

我正在尝试使用 PhantomJS 图像捕获来捕获浏览器的图像。 每次我运行图像捕捉功能,图像的尺寸都略有不同。例如,一旦我获得 1400x5185,如果我在几个小时后打开相同的 url,我将获得 1399x5185 或 1400x5186。

我试过从左上角裁剪,但像素略微倾斜。 Note:The页面内容始终不变

我如何始终确保获得相同尺寸的图像而不会改变像素?

页面上可能发生了一些变化,否则 PhantomJS 没有理由渲染不同的图像。

您应该详细检查图像的差异。广告格式不统一可能是罪魁祸首。如果您识别出变化的 DOM 元素,则可以在捕获屏幕截图之前使用 casper.evaluate() 访问 DOM 和 remove/hide 这些元素。

您还可以将视口大小更改为 1920x1080,例如使用 casper.viewport()。如果页面是垂直滚动的,那么只有一个 y 方向可能会改变。如果您想确定,请将视口大小更改为 1400x5187。