html2canvas 无法抓取验证码图片

html2canvas can not capture captcha images

这是 html 代码:

<div id="divPage">
div_Page
<br/>
<img id="captchaimglogin" src="https://www.emirates.com/account/english/login/login.aspx?cptLogin_captcha=86e2a65e-f170-43b6-9c87-41787ff64a35&t=88d296b19e5e8000&mode=ssl" border="0" />
</div>
<br/>
<input type="button" id="btnSave" value="Save PNG"/>

这里是 jquery 个代码:

$(function() {
    $("#btnSave").click(function() { 
        html2canvas($("#divPage"), {
            onrendered: function(canvas) {
                document.body.appendChild(canvas);
               }
         });
         html2canvas($("#btnSave"), {
            onrendered: function(canvas) {
                document.body.appendChild(canvas);
               }
         });
    });
}); 

这里是 jsFiddle link

如何使用 html2canvas 或其他方式捕获这些验证码图像?

根据 HTML2Canvas 文档,您可以使用 allowTainttaintTest 配置来允许跨源图像。

onrendered: function(canvas) {
            document.body.appendChild(canvas);
           },
allowTaint: true,
taintTest: false

在 运行 html2canvas 之前的原始页面上检测并删除 captcha

验证码的许多实现将包含会污染 canvas 的跨域内容。污染 canvas 将自动阻止 html2canvas 捕获页面...