Javascript Html2canvas-如何捕获所有div?

Javascript Html2canvas-如何捕获所有div?,javascript,html2canvas,Javascript,Html2canvas,我正在使用html来绘制capture div的画布 这是我的密码: $scope.testCanvas = function() { html2canvas([document.getElementById('test')], { onrendered: function(canvas) { $("#divtest").append(canvas);

我正在使用html来绘制capture div的画布 这是我的密码:

 $scope.testCanvas = function()
            {
    html2canvas([document.getElementById('test')], {
                          onrendered: function(canvas) {
                              $("#divtest").append(canvas);
                          }
                        });
                });
}

    <div id="test">
    <article id="art2" class="p-Fitness p-Tile u-md-spaceTop p-FitnesssecurityPatch" >
        <section class="p-Tile-section">
            <div class="p-Fitness-impact"></div>
            <div class="p-Fitness-securityGraph"></div>
        </section>
   </article>
   <article id="art2" class="p-Fitness p-Tile u-md-spaceTop p-Fitness-securityPatch" >
        <section class="p-Tile-section">
            <div class="p-Fitness-impact"></div>
            <div class="p-Fitness-securityGraph"></div>
        </section>
    </article>
    </div>

    <div id="divtest">
    </div>
$scope.testCanvas=function()
{
html2canvas([document.getElementById('test')){
onrendered:函数(画布){
$(“#divtest”).append(画布);
}
});
});
}
问题在于,只捕获了div的一部分,即屏幕上可见的部分,即屏幕截图。
我需要捕获所有div-有什么想法吗?

您只需使用
Id
访问div,它只会给您一个元素
要捕获所有div,可以使用类选择器
。向所有div添加一个类,比如说
class='test'
。那你就可以这么做了

html2canvas(document.getElementsByClassName('test'), {....
所以你要做的就是替换这个

[document.getElementById('test')] -- array with one element


我得到一个错误:node.setAttribute不是一个函数,因此如果我将其更改为document.body,则只捕获屏幕中可见的部分
document.body
??你在哪里用它?
  document.getElementsByClassName('test')  -- array of selected elements.