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

Javascript 如何使用NightwatchJS捕获整个页面的屏幕截图,javascript,nightwatch.js,Javascript,Nightwatch.js,我想捕获整个页面的截图。我想捕捉的尺寸是宽度-1200px,高度-5000px。当我设置调整窗口大小(1200,5000)时,它不会将窗口扩展到我的桌面屏幕高度(1080px)之外 请在您的nightwatch.json中添加“分辨率”:“1200x5000”: "yourPlatformName": { "selenium_port": ..., "selenium_host": ..., "desiredCapabilities": { "os": "

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

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

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

它有效吗?

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

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

它能工作吗?

对于大多数真正的浏览器来说似乎是不可能的,除非你依靠一种滚动和缝合的方法,而这种方法不适用于页面的粘性部分

原因是Selenium需要的是视口的屏幕截图,而不是整个页面,因此大多数驱动程序都没有实现它。 唯一的例外是未来的Firefox和geckodriver,因为他们已经声明了自己对实现geckodriver的兴趣

您可以使用Selenium和较大的窗口大小,因为它似乎可以调整超出视口大小的大小。 Phantomjs desiredCapabilities的示例:

“所需功能”:{
“浏览器名”:“幻影”,
“javascriptEnabled”:true,
“acceptSslCerts”:正确,
“phantomjs.binary.path”:“../../../../node_modules/phantomjs prebuilded/bin/phantomjs”,
“phantomjs.cli.args”:[“--ignore ssl errors=true”、“--web security=false”、“--ssl protocol=any”]
}

对于大多数真正的浏览器来说似乎是不可能的,除非您使用的是一种滚动和缝合方法,这种方法无法处理页面的粘性部分

原因是Selenium需要的是视口的屏幕截图,而不是整个页面,因此大多数驱动程序都没有实现它。 唯一的例外是未来的Firefox和geckodriver,因为他们已经声明了自己对实现geckodriver的兴趣

您可以使用Selenium和较大的窗口大小,因为它似乎可以调整超出视口大小的大小。 Phantomjs desiredCapabilities的示例:

“所需功能”:{
“浏览器名”:“幻影”,
“javascriptEnabled”:true,
“acceptSslCerts”:正确,
“phantomjs.binary.path”:“../../../../node_modules/phantomjs prebuilded/bin/phantomjs”,
“phantomjs.cli.args”:[“--ignore ssl errors=true”、“--web security=false”、“--ssl protocol=any”]
}

似乎没有。截图仍然被截短。似乎没有。截图仍然被截断。