解决c#利用WebBrowser截取验证码图片无法获取的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决c#利用WebBrowser截取验证码图片无法获取的问题相关的知识,希望对你有一定的参考价值。
1 /// <summary> 2 /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容 3 /// </summary> 4 /// <param name="WebCtl">WebBrowser控件</param> 5 /// <param name="ImgeTag">IMG元素</param> 6 /// <returns>IMG对象</returns> 7 private Image GetWebImage(WebBrowser WebCtl, htmlElement ImgeTag) 8 { 9 HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument; 10 HTMLBody body = (HTMLBody)doc.body; 11 IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); 12 IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址 13 14 Image oldImage = Clipboard.GetImage(); 15 rang.add(Img); 16 rang.execCommand("Copy", false, null); //拷贝到内存 17 Image numImage = Clipboard.GetImage(); 18 try 19 { 20 Clipboard.SetImage(oldImage); 21 } 22 catch 23 { 24 } 25 26 return numImage; 27 }
上面这段代码正常情况下可以获取到验证码,在有的win2003上回出现问题。
在以前的开发中由于禁用了WebBrowser的错误提示,导致无任何错误提示,不知道什么原因。
处理方法:打开ie Internet选项->安全->自定义级别->允许剪切板进行编程访问,启用这个选项
以上是关于解决c#利用WebBrowser截取验证码图片无法获取的问题的主要内容,如果未能解决你的问题,请参考以下文章