首页 > 代码库 > frame框架中验证码图片抓取(VB2010)

frame框架中验证码图片抓取(VB2010)

今日写一个验证码识别自动登录的程序,发现网页中验证码图片是嵌在frame框架中,一时间遇到了问题无法搞定,网上搜了很多网页也没有具体的解决办法,今日偶然尝试居然搞定了,给大家分享一下。

HTML的源程序模拟如下:

 <body>
  <iframe src=http://www.mamicode.com/"hello.jpg"></iframe>
 </body>

真实的场景SRC是一个类似于checkcode.ASP的链接,不能直接通过WEB地址抓取,不然图片就会变了,这个估计大家都知道,抓取这个图片的代码如下(VB2010环境)


        Dim Doc As mshtml.HTMLDocument = WebBrowser1.Document.Window.Frames(0).Document.DomDocument
        Dim ImgA As mshtml.IHTMLImgElement = Doc.getElementsByTagName("IMG").item(0)
        If ImgA IsNot Nothing Then
            Dim CR As mshtml.IHTMLControlRange = Doc.body.CreateControlRange()
            CR.add(ImgA)
            Dim ImgB As Image = Nothing
            CR.execCommand("Copy")
            ImgB = Clipboard.GetImage
            ImgB.Save("c:\hello.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
        End If


折腾了好几天,希望对大家有帮助

frame框架中验证码图片抓取(VB2010)