登陆页面的源码如下:
<div class="field">
<label>帐户名:</label>
<input type="text" style="" tabindex="1" maxlength="32" value="手机号/会员名/邮箱" size="32" name="TPL_username" class="login-text J_UserName"/>
</div>
<div class="field">
<label>密&nbsp;&nbsp;&nbsp;码:</label>
<input type="password" tabindex="2" size="32" value="" maxlength="20" id="TPL_password" name="TPL_password" class="login-text"/>
<span class="forget-pw"><a href="http://member1.taobao.com/member/forgot_passwd.jhtml">忘记密码</a></span>
</div>
                
<div class="login-submit">
<input name='_tb_token_' type='hidden' value='e3b556de5ed43#7072304680877728'>
<input type="hidden" name="actionForStable" value="enable_post_user_action" />
<input type="hidden" name="action" value="Authenticator" />

<input type="hidden" name="mi_uid" value="" />
<input type="hidden" name="mcheck" value="" />
<input type="hidden" name="TPL_redirect_url" value="" />
<input type="hidden" name="_oooo_" value="" />
<input type="hidden" name="event_submit_do_login" value="anything" />
<input type="hidden" name="abtest" value="" />
<input type="hidden" name="pstrong" value="" />
         <input type="hidden" name="from" value="" />
         <input type="hidden" name="yparam" value="" />
         <input type="hidden" name="done" value="" />
<input type="hidden" name="loginType" value="3" />

<input type="hidden" name="tid" id="tid"/>
<input type="hidden" name="support" value="000001"/>
<input type="hidden" name="CtrlVersion" value="1,0,0,7"/>
<button value="" tabindex="3" type="submit">登&nbsp;&nbsp;&nbsp;&nbsp;录</button>
<span class="go-register"><span>
</div>C#代码如下:
                HtmlDocument doc = webBrowser1.Document; //获取document对象
                HtmlElement btn = null;
                foreach (HtmlElement em in doc.All) //轮循
                {
                    string str = em.Name;
                    string id = em.Id;
                    if ((str == "TPL_username") || (str == "TPL_password") || (str == "submit")) //减少处理
                    {
                        switch (str)
                        {
                            case "TPL_username": em.SetAttribute("value", "用户名"); break; //赋用户名
                            case "TPL_password": em.SetAttribute("value", "密码"); break; //赋密码
                            case "submit": btn = em; break; //获取submit按钮
                            default: break;
                        }
                    }
                   
                }
                btn.InvokeMember("click"); //触发submit事件

解决方案 »

  1.   

    webBrowser1.Document.All["TPL_username"].SetAttribute("value", "用户名");
    webBrowser1.Document.All["TPL_username"].SetAttribute("value", "用户名");
    按钮。。
    你那样的话有可能会先获取到按钮
    也就是先点了按钮的
      

  2.   

    webBrowser1.Document.All["TPL_username"].SetAttribute("value", "用户名"); 
      

  3.   

    to xiaovsjia:
       现在网页中登陆按钮无法获取到呀,你看它的脚本<button value="" tabindex="3" type="submit">登&nbsp;&nbsp;&nbsp;&nbsp;录 </button>,我不知道怎么能够获取到它,然后执行click
      

  4.   

    <button value="" tabindex="3" type="submit">登&nbsp;&nbsp;&nbsp;&nbsp;录 </button>这个button不具有id,只能通过枚举HtmlElement,比对OuterHtml来确定button元素。
      

  5.   

    webrequest传值实现登录
    HtmlElement btnSubmit = webBrowser.Document.All["submitbutton"]; 
      

  6.   


    //可以试一试给该页一个回车的命令
    //先webBrowser1获得焦点,然后
    SendKeys.Send(Keys.Enter.ToString());//模拟按下回车键 
      

  7.   

    to starj1:   能否写出源码看看呢,谢谢啦
      

  8.   

    //wbtest 的当前页面是dkp.178.com也就是登陆页面
                    HtmlElement ClickBtn = null;
                    HtmlDocument doc = wbtest.Document;
                    //搜寻表单中的元素.
                    for (int i = 0; i < doc.All.Count; i++)
                    {
                        if (doc.All[i].TagName.ToUpper().Equals("INPUT"))
                        {
                            switch (doc.All[i].Name)
                            {
                                case "email":    //用户名文本框 的 name
                                    doc.All[i].InnerText = "username";
                                    break;
                                case "password": //密码文本框 的 name
                                    doc.All[i].InnerText = "password";
                                    break;
                            }
                        }
                                                 //按钮框 的 元素名,提交按钮是用BUTTON实现的.中间内容是登 陆
                        if (doc.All[i].TagName.ToUpper().Equals("BUTTON"))
                        {
                            if (doc.All[i].InnerText == "登 录")
                            {
                                ClickBtn = doc.All[i];
                            }
                        }
                    }
                    ClickBtn.InvokeMember("Click");   //执行按扭操作
                    int interval = 2000; //2 秒
                     //执行登陆后的下载操作,以178的DKP登陆后下载界面为例
                    wbtest.Navigate("http://dkp.178.com/action=download&option=log&guild_id=50519&setting=midkp");
      

  9.   

    我也碰到楼主这样的问题.不过解决了.- -因为  BUTTON 按钮不是INPUT..所以要另写一个
    但是这样登陆后,下载东西还是要跳框..我在想用WebClient能否实现.看过别人写的看不懂.