首页 > 解决方案 > 如何使用 jquery 获取验证码图像的值

问题描述

有没有办法可以使用 jquery/javascript 获取验证码图像值并将其放在验证框中?

我想在如下表格上做的事情:

在此处输入图像描述

验证码的代码如下所示:

<td><img id="form_rcdl:j_idt33:j_idt38" src="/rcdlstatus/DispplayCaptcha?txtp_cd=1&amp;bkgp_cd=2&amp;noise_cd=2&amp;gimp_cd=3&amp;txtp_length=5&amp;pfdrid_c=true?1388469581&amp;pfdrid_c=true" alt=""></td>

标签: javascriptjquerydecodecaptcha

解决方案


通常,这些类型的验证码很容易通过/破解。

现在,这可以使用其他编程语言以不同的方式完成。但是当您正在寻找客户端解决方案时tesseract.js可能会有所帮助。

我以前没有尝试过,但使用它似乎很简单

Tesseract.recognize(myImage)
       .progress(function  (p) { console.log('progress', p)    })
       .then(function (result) { console.log('result', result) })

这是一个演示(在 JSFiddle 上),您可以尝试一下,(Won't work on StackOverflow ) 您应该会收到警报说road

let progress = document.querySelector('#progress');

Tesseract.recognize('https://image.ibb.co/bXhgST/captcha_5.jpg')
  .progress(function(p) {

    progress.innerHTML += JSON.stringify(p) + "<br>"
  })
  .then(function(result) {
    alert(result.text)
  })
<script src='https://cdn.rawgit.com/naptha/tesseract.js/1.0.10/dist/tesseract.js'></script>
<img id="img" src="https://image.ibb.co/bXhgST/captcha_5.jpg" />
<div id="progress"></div>

另一种选择是使用专业服务,例如Amazon Detecting Text in an Image


推荐阅读