获取图片base64码问题?

图片.png
图片.png
我写一个油猴脚本想获取验证码的base64,但是获取的不是图一哪个预加载的圈圈,就是图二只有一部分,要怎么获取全部图片啊,如下图
图片.png
https://demo.eyoucms.com/login.php?s=Admin/login

    const img = document.getElementById('imgVerify');
    let base64 = '';

    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    canvas.width = img.naturalWidth;
    canvas.height = img.naturalHeight;
    ctx.drawImage(img, 0, 0);
    base64 = canvas.toDataURL();
    console.log(base64);
    const apiUrl = 'http://127.0.0.1:3007/bt/open/website/backstage';

    GM_xmlhttpRequest({
        method: 'POST',
        url: apiUrl,
        headers: { 'Content-Type': 'application/json; charset=utf-8' },
        data: JSON.stringify({
            img: base64
        }),
        onload: function(response) {
            console.log(response.responseText);
        },
        onerror: function(error) {
            console.error(error);
        }
    });
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABa0lEQVQ4T5WT8cmDQAzFU3CAIg4gpRN0hOII4gRSOkEpHUCkE4g4gSOIOIE4gnSC0gEKfv5CT05t//gCJWfu8vLykm5kYa/Xa9hutxv89XqV0UuWZUJs+ZbvWfDxeAxBEEhd1yToDxvj4vu+gi6BVgDjQ9nv99K2rXieJ+/3WwEAgw1ANhP9oDKey/v9PlwuFxm93G63CYD7D6s5ALSiKJKqqjTpdDrpQ8dxJAxDLZam6SyZggZsYkAiICTid7vdii7FaMNmogBc4BEPFmVZrpLNu5WI9Eyi67pKlynEcfx1ZHYxI6SKBoAx9PgXgI3adZ22wRS+LY4t3sTAAOR5rv0fDgfhvJy3EbDv+5nA2us47wHhWF1GBwBGO8ZYrPFOtxGmZkqrRYImicz++Xzq9iEsBYgbZmatZ2oTPJ/Pip4kyaYoCh0vogKMPjC09Vn9F6DPUlHJBgCoaZoBjX4CTA1/DiRwPB6PP/fiD1va9a9pNElgAAAAAElFTkSuQmCC
阅读 2k
2 个回答
canvas.width = img.width;
canvas.height = img.height;

这两句改成

canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
    const img = document.getElementById('imgVerify');
    let base64 = '';

    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    canvas.width = img.naturalWidth;
    canvas.height = img.naturalHeight;
    ctx.drawImage(img, 0, 0);
    base64 = canvas.toDataURL();
    console.log(base64);
    const apiUrl = 'http://127.0.0.1:3007/bt/open/website/backstage';

    GM_xmlhttpRequest({
        method: 'POST',
        url: apiUrl,
        headers: { 'Content-Type': 'application/json; charset=utf-8' },
        data: JSON.stringify({
            img: base64
        }),
        onload: function(response) {
            console.log(response.responseText);
        },
        onerror: function(error) {
            console.error(error);
        }
    });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题