首页 > 代码库 > 提取验证码到winform上webbroswer和axwebbroswer
提取验证码到winform上webbroswer和axwebbroswer
在网上只有webbroswer的代码,所以自己又修改了修改改成axwebbroswer的
public static class yanZhengMaHelp { //webbrowser验证码 public static Image GetRegCodePic(WebBrowser wbMail, string ImgName, string Src, string Alt) { HTMLDocument doc = (HTMLDocument)wbMail.Document.DomDocument; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img; if (ImgName == "") //如果没有图片的名字,通过Src或Alt中的关键字来取 { int ImgNum = GetPicIndex(wbMail, Src, Alt); if (ImgNum == -1) { return null; } Img = (IHTMLControlElement)wbMail.Document.Images[ImgNum].DomElement; } else Img = (IHTMLControlElement)wbMail.Document.All[ImgName].DomElement; rang.add(Img); rang.execCommand("Copy", false, null); Image RegImg = Clipboard.GetImage(); Clipboard.Clear(); return RegImg; } public static int GetPicIndex(WebBrowser wbMail, string Src, string Alt) { int imgnum = -1; for (int i = 0; i < wbMail.Document.Images.Count; i++) //获取所有的Image元素 { IHTMLImgElement img = (IHTMLImgElement)wbMail.Document.Images[i].DomElement; if (Alt == "") { if (img.src.Contains(Src)) return i; } else { if (!string.IsNullOrEmpty(img.alt)) { if (img.alt.Contains(Alt)) return i; } } } return imgnum; } //axwebbroswer 验证码 提取 public static Image GetRegCodePic(AxWebBrowser axwbMail, string ImgName, string Src, string Alt) { HTMLDocument doc = (HTMLDocument)axwbMail.Document; HTMLBody body = (HTMLBody)doc.body; IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange(); IHTMLControlElement Img; if (ImgName == "") //如果没有图片的名字,通过Src或Alt中的关键字来取 { Img = (IHTMLControlElement)GetPicIndex(axwbMail, Src, Alt); if (Img == null) { return null; } } else { Img = (IHTMLControlElement)doc.getElementsByName(ImgName).item(null, 0); } rang.add(Img); rang.execCommand("Copy", false, null); Image RegImg = Clipboard.GetImage(); Clipboard.Clear(); return RegImg; } public static IHTMLImgElement GetPicIndex(AxWebBrowser axwbMail, string Src, string Alt) { HTMLDocument doc = (HTMLDocument)axwbMail.Document; foreach (IHTMLImgElement img in (IHTMLElementCollection)doc.getElementsByTagName("img")) //获取所有的Image元素 { if (Alt == "") { if (img.src.Contains(Src)) return img; } else { if (!string.IsNullOrEmpty(img.alt)) { if (img.alt.Contains(Alt)) return img; } } } return null; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。