我现在C# WinForm程序当中添加了webbrowser  控件,webbrowser打开了www.163.com,
我现在要求在webbrowser打开的163里输入 用户名  密码,并选择 163邮箱,然后按 登陆 按钮要用C#程序写出来。或是有关于webbrowser C# 控制网页的参考资料没有?????

解决方案 »

  1.   

                HtmlElement element = webBrowser1.Document.GetElementById("userName");
                element.InnerText = "111";  //用户名
                element = webBrowser1.Document.GetElementById("password");
                element.InnerText = "222";  //密码
                webBrowser1.Document.GetElementById("loginSelect").SetAttribute("selectedIndex", "1"); //选择哪个邮箱 163是的index是1.(从0开始算)
                webBrowser1.Document.GetElementById("loginSelect").InvokeMember("change");            webBrowser1.Document.GetElementById("login").InvokeMember("submit"); //submit form
    Good luck
      

  2.   

    http://yuanzhym.blog.163.com/blog/static/262117720088257847902/
      

  3.   

    发现一个问题webBrowser1.Document.GetElementById("login").InvokeMember("submit"); //submit form 不能trigger客户端的javascript而163使用javascript决定登录到哪个邮箱因此,需要模拟按键来submit。
               HtmlElement element = webBrowser1.Document.GetElementById("userName");
                element.InnerText = "111";
                element = webBrowser1.Document.GetElementById("password");
                element.InnerText = "222";            webBrowser1.Document.GetElementById("loginSelect").SetAttribute("selectedIndex", "1");
                webBrowser1.Document.GetElementById("loginSelect").InvokeMember("change");            
                //webBrowser1.Document.GetElementById("login").InvokeMember("submit"); 
                webBrowser1.Document.GetElementById("password").Focus();
                SendKeys.SendWait("{ENTER}");
      

  4.   

    C# 操作webbrowser  的前提是当前网页里的,要读取的那个HTML控件有自己的ID或名称如果要点网页中的链接呢?那么这个链接有ID或名称就可以
                webBrowser1.Document.GetElementById("link").Focus(); 
                SendKeys.SendWait("{ENTER}");
      

  5.   

                foreach (HtmlElement ele in webBrowser1.Document.Links)
                {
                    if (ele.InnerText == "")  //链接显示的文字
                    {
                        ele.InvokeMember("click");
                    }
      

  6.   

    触发onclick事件:
    webBrowser1.Document.GetElementById("login").InvokeMember("onclick"); 
      

  7.   

    <button type="button"  class="despatch"  onclick="javascript:window.location.href=XXXXX>网页中的代码是这样的。现在我怎么获取这个button  。
      

  8.   


    只能这么试一试了。
                foreach (HtmlElement one in webBrowser1.Document.All)
                {
                    if ((one.GetAttribute("type").ToLower() == "button")
                        && (one.GetAttribute("class").ToLower() == "despatch")
                        && (one.GetAttribute("click").ToLower() == "javascript:window.location.href=XXXXX"))
                    {
                        //do something
                    }
                }
      

  9.   


    if ((one.GetAttribute("type").ToLower() == "button") 
                        && (one.GetAttribute("class").ToLower() == "despatch") 
                        && (one.GetAttribute("click").ToLower() == "javascript:window.location.href=XXXXX")) 我抓取的错误是  拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
      

  10.   

    不错.如果可以解决这个:<button type="button"  class="despatch"  onclick="javascript:window.location.href=XXXXX> 网页中的代码是这样的。 现在我怎么获取这个button  。就完美了...
      

  11.   

    <button type="button" class="despatch" onclick="javascript:window.location.href=XXXXX>  
    如果能查看到源码的话,给你个笨办法,找到当前button上一个兄弟节点,比如密码框有ID,找到密码框后直接读取密码框的下一个兄弟节点就是这个没ID的button了。
    只要能看到源码,就可以针对的去找到它。
    如果这个button是在TR里面的话,你可以获得TR里面的第一个或者第N个TD里面的第一个节点。比较邪恶。
      

  12.   

    能问一下   webbrowser1是哪个里边的
      

  13.   

    19pay代理商平台的 手机充值源码 发我一份,急用。谢谢