如何使用NightwatchJS捕获整个页面的屏幕截图

时间:2016-12-19 13:20:16

标签: javascript nightwatch.js

我想捕获整个页面的截图。我想捕获的尺寸是宽度 - 1200px,高度 - 5000px。当我设置resizeWindow(1200, 5000)时,它不会将窗口扩展到超出我的桌面屏幕高度1080px。

2 个答案:

答案 0 :(得分:0)

在你的nightwatch.json中,请添加“分辨率”:“1200x5000”

"yourPlatformName": {
    "selenium_port": ...,
    "selenium_host": ...,
    "desiredCapabilities": {
        "os": "...",
        "os_version": "...",
        "browserName": "...",
        "resolution": "1200x5000"
        //...
    }
}

有效吗?

答案 1 :(得分:0)

对于大多数真正的浏览器来说似乎不可能,除非您依赖于不能使用页面粘性部分的滚动和拼接方法。

原因是Selenium需要视口的截屏而不是整页,因此大多数驱动程序都没有实现它。 例外情况是未来的Firefox与geckodriver,因为他们表示有兴趣实施它。

您可以将phantomjs与Selenium和大窗口大小一起使用,因为它似乎可以在视口大小之外调整大小。 Phantomjs desiredCapabilities的例子:

"desiredCapabilities": { "browserName": "phantomjs", "javascriptEnabled": true, "acceptSslCerts": true, "phantomjs.binary.path": "../../../../node_modules/phantomjs-prebuilt/bin/phantomjs", "phantomjs.cli.args": ["--ignore-ssl-errors=true", "--web-security=false", "--ssl-protocol=any"] }