今日写一个验证码识别自动登录的程序,发现网页中验证码图片是嵌在frame框架中,一时间遇到了问题无法搞定,网上搜了很多网页也没有具体的解决办法,今日偶然尝试居然搞定了,给大家分享一下。
HTML的源程序模拟如下:
<body>
<iframe src="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
折腾了好几天,希望对大家有帮助