webbrowser-C#-两种方法取得验证码


//先添加对 mshtml 的引用, 在 COM 页上, 选择 Microsoft HTML Object Library
//使用命名空间  using mshtml;
//登录url  有id http://passport.csdn.net/UserLogin.aspx
//登录url   没有id    http://www.himporter.com/index.php?c=Members

方法一   有id

 HTMLDocument html = (HTMLDocument)this.webBrowser1.Document.DomDocument;
            IHTMLControlElement img 
= (IHTMLControlElement)webBrowser1.Document.Images["MzImgExpPwd"].DomElement;

            IHTMLControlRange range 
= (IHTMLControlRange)((HTMLBody)html.body).createControlRange();
            range.add(img);
            range.execCommand(
"Copy"falsenull);

            img 
= null;
            range 
= null;
            html 
= null;

            
if
            (Clipboard.ContainsImage())
            {
                
this.pictureBox1.Image = Clipboard.GetImage();
            }
            
else
            {
                MessageBox.Show(
"执行不成功");
            }

            Clipboard.Clear();
方法二 没有id

  HtmlElementCollection hc = webBrowser1.Document.GetElementsByTagName("img");
            HtmlElement h0 
= null;
            
foreach (HtmlElement h in hc)
            {
                
if (h.OuterHtml.Contains("imgcode.html"))
                {
                    h0 
= h;
                    
//MessageBox.Show(h.OuterHtml.ToString());
                }

            }
          
            
//MessageBox.Show( h0.GetAttribute("src"));
            string  imgurl=h0.GetAttribute("src");
            pictureBox1.ImageLocation 
= imgurl;


posted on 2009-10-05 11:45  也风  阅读(2261)  评论(0编辑  收藏  举报