通过WebBrowser获取网页验证码


/// <summary>
/// 返回指定WebBrowser中图片<IMG></IMG>中的图内容
/// </summary>
/// <param name="WebCtl">WebBrowser控件</param>
/// <param name="ImgeTag">IMG元素</param>
/// <returns>IMG对象</returns>
private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
{
HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
HTMLBody body = (HTMLBody)doc.body;
IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址

Image oldImage = Clipboard.GetImage();
rang.add(Img);
rang.execCommand("Copy", false, null); //拷贝到内存
Image numImage = Clipboard.GetImage();
try
{
Clipboard.SetImage(oldImage);
}
catch
{
}

return numImage;
}

调用


HtmlElement ImgeTag = webBrowser2.Document.All["id"];//根据验证码id获取元素,根据实际情况更改

Image numPic = GetWebImage(webBrowser2, ImgeTag); // 得到验证码图片
piccode.Image = numPic;

通过WebBrowser获取网页验证码,布布扣,bubuko.com

时间: 2024-10-25 08:36:34

通过WebBrowser获取网页验证码的相关文章

C# 网络编程之webBrowser获取网页url和下载网页中图片

该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url.下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的. 一.界面设计 界面设计如下图所示,添加控件如图,设置webBrowser1其Anchor属性为Top.Bottom.Left.Right,实现对话框缩放;设置groupBox1其Dock(定义要绑到容器控件的边框)为Buttom,实

delphi webbrowser 获取网页源码

转自 http://hi.baidu.com/delphidiary 转自 http://blog.sina.com.cn/s/blog_725fb194010150jh.html //前面要加几个pas单元uses Registry,ShellApi, WinInet,ShlObj,ComObj;//========================================删COOKIES========================== procedure DelRegCache;

如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]

http://bbs.csdn.net/topics/390426978 public static String readCheckImage(HashMap<String, String> requestMap) {        String url = requestMap.get("url");        if (requestMap.get("params") != null) {            url += "?&qu

delphi WebBrowser控件上网页验证码图片识别教程(一)

步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm1.BitBtn1Click(Sender: TObject); var I:Integer; begin for I:=0 to WebBrowser1.OleObject.document.images.length-1 do Memo1.Lines.Add(WebBrowser1.OleObj

C# WebBrowser 获取 AJAX 后的网页HTML 内容

C# WebBrowser  获取 AJAX 后的网页HTML 内容 等待网页执行完毕(AJAX执行后). 使用webBrowser1.Document.Body.OuterHtml可以获取到AJAX产生的网页内容. 网上找了一大堆代码全没有用.原来就这么简单哦!

.NET4.5 WFP中用WebBrowser获取/操作网页html代码

引言 想给自己之前写的网页小说爬虫程序更新换代,之前一直是用winform的形式写的程序,因此这一次更新打算把UI换成WPF(因为听说WPF很漂亮),顺便也以此引入WPF的学习. 那么作为网页爬虫程序,最重要的就是html源码的获取了,通常的获取方式有几种:HttpWebRequest.WebRequest.WebClient.WebBrowser等.由于我这里写的爬虫软件针对的网站需要先登录才能看到小说内容,而我一次爬取的内容不多都是短篇小说,因此不需要考虑到爬取的速度,因此自然是打算使用We

C#获取网页中某个元素的位置,并模拟点击

我们在开发中,往往要得到网页中某个元素的位置,并且点击它.要模拟一次鼠标点击并不难,只要调用一个API就行了,关键就是怎么样得到这个元素的位置,还有判断是否要滚动滚动条,要滚动多少行能让元素显示出来.当然我们可以动态改变它的CSS,让它在特定的位置显示出来,但这个方法只对比较简单的网页有效. 那我们怎么才能得到网页的位置呢,首先我们来看一张图片 从这里我们可以看到五个offset的属性,这里我们主要利用offsetparent, offsetleft 和offsettop,我们用offsetpa

webbrowser取页面验证码

碰到一个无比坑爹,外加蛋疼乳酸的问题.从昨天晚上发现bug,到今天下午解决问题,搞了大半天的时间.光是找问题就花了半天,解决问题的方法简单,但是方案的形成也是无比纠结的过程. 背景:webbrowser获取页面上的验证码,然后解析验证码回写到页面.解析和回写没什么问题,问题主要在获取页面验证码上. 在网上搜索得到这么一段代码: IHTMLControlElement img = (IHTMLControlElement)webBrowser1.Document.Images["vcode_img

C# 获取动态验证码?

如何获取动态验证码(比如登录验证码,每次访问码值都是不一样的).本来想从cookie上入手但是,每次访问虽然码值不一样,但是后来发现它们的cookie一样的.这个道路就行不通了.目前知道一个解决方案,就是通过WebBrowser获取然后显示的html,1.种方法直接截图:2.将图片元素的DomElement作为参数,方法如下.但是这种方法效率太低..,求高效的方法.结合mshtml.dll. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ComI