C# webBrowser 自动登录淘宝 模拟点击输入 模拟点击无ID 无name的html元素按钮

来源:互联网 发布:知乎流体力学高校 编辑:程序博客网 时间:2024/03/29 13:28

(淘宝已经限制第一次登录需要输入验证码了,在ie下登录一次,再运行代码,无法实现了,下面只是一个例子)    

    private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("https://login.taobao.com/member/login.jhtml?f=top&redirectURL=http%3A%2F%2Fwww.taobao.com%2F");
          加载时候打开淘宝登录页面。
           //
            //HtmlElement element = webBrowser1.Document.GetElementById("login-text J_UserName");
//            element.InnerText = "AAA";
            //            element = webBrowser1.Document.GetElementById("login-text");
//            element.InnerText = "bbb";
//            webBrowser1.Document.GetElementById("loginSelect").SetAttribute("electedIndex", "1");
//            webBrowser1.Document.GetElementById("loginSelect").InvokeMember("change");
//            webBrowser1.Document.GetElementById("login").InvokeMember("submit");

 

        }

 

      private void button1_Click(object sender, EventArgs e)
        {
 // IHTMLDocument2 doc = (IHTMLDocument2)this.webBrowser1.Document.DomDocument;
            HtmlDocument cd = webBrowser1.Document;
            HtmlElement element = webBrowser1.Document.GetElementById("TPL_username");//id或者是name
            element.InnerText = "18301390898";

///////////////////////////////////////////////////////////////////

 <span class="safe-login">
                <input  type="checkbox" id="J_SafeLoginCheck" tabindex="4"/><label for="J_SafeLoginCheck">安全控件登录</label>
            </span>这个是HTML页面源文件的安全控件,必须把安全控件的对钩去掉才能输入密码。

          HtmlElement element2 = webBrowser1.Document.GetElementById("J_SafeLoginCheck");//id或者是name
                          element2.InvokeMember("click");

/////////////////////////////////////////////////////////////////
            element = webBrowser1.Document.GetElementById("TPL_password");//id或者是name
            element.InnerText = "123456";

           // 第一种情况butten 按钮有id或者name
            /////////////////////////////////////////////////////////////////////////////////
            HtmlElement buttonSubmit = this.webBrowser1.Document.GetElementById("登录按钮的ID");
            buttonSubmit.InvokeMember("click");   

            //////////////////////////////////////////////////////////////////////////////////

            // 第二种情况butten 按钮没有id或者name
            //HtmlElementCollection dhl = cd.GetElementsByTagName("BUTTON");//GetElementsByTagName得到的是点击的标记元素名称
            //foreach (HtmlElement item in dhl)
            //{
            //    if (item.InnerText=="登录")
            //    {
            //          item.InvokeMember("click");

            //    }
            //}
          //////////////////////////////////////////////////////////////////////////////////////
        }

 

原创粉丝点击