我是c#的初學者.想請教用什麼方法.可以實現網站自動登錄我學習過網上的 mshtml com控件的方法.可以實現.在winform上填上id和password.點按鈕. 程序自動打開ie.自動填上登入資料.點擊提交按鈕..但這個mshtml只能在安裝了vs2005的機器上才能運行...其他機都報錯.mshtml.dll無法調用..找過google的方法也沒辨法攪好..
請問.net內置的控件..那個可以辨到這種方法呢..用過httpwebrequest.但想不到怎樣用ie顯示..而且也不知要提交什麼資料..求助

解决方案 »

  1.   

    控件里面就有WebBrowser控件,拖到窗口上就可以用了
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser(VS.80).aspx
      

  3.   

    貌似WebBrowser控件是不可以自动处理cookie吧要看网站的身份验证与保存方式了,如果使用脱机cookie就好办了
      

  4.   

    怎么可能找不到mshtml, 这个是IE的COM组件之一, 和VS没有什么关系. http://cid-184ecd6232a550c1.skydrive.live.com/self.aspx/Public/Program/%e7%99%be%e5%ba%a6%e8%be%93%e5%85%a5%e6%a1%86.zip下载AutoTester.Net, 可以实现你的需求.下面是一段例子, 命令行csc baidu.cs /r:AutoTesterLib.dll 编译即可.
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Diagnostics;
    using System.Threading;
    using System.Drawing;using Shrinerain.AutoTester.HTMLUtility;namespace Shrinerain.AutoTester
    {
        class Baidu
        {
            public static void Main()
            {
                string url = @"http://www.baidu.com/";
    string title="百度一下";
                HTMLTest test = new HTMLTest();
                //test.Browser.Find(title);
                //test.SendMsgOnly = true;            test.Browser.Load(url);
                test.Map.TextBox().Input("测试");
    test.Map.Button("百度一下").Click();
    Console.ReadLine();         
            }
        }
    }
      

  5.   

    有以下几个步骤:
    1、平台调用包装两个API函数:InternetGetCookies和InternetSetCookies
    这是最基本的cookies处理函数.
    2、建立一个CookieContainer,把本地包括的cookies使用InternetGetCookies添加到这个CookieContainer中。
    3、先是使用HttpWebRequst发送请求,当然要指定CookieContainer,后接收到HttpWebResponse后,要把
    CookieContainer中的相应cookies使用InternetSetCookies写入到本地cookies缓存中。
    4、使用WebBrowser控件请求页面,这是的WebBrowser控件默认能从本地cookies缓存中搜索到cookies并发送出去
    了。
    以上步骤中间还有些小的问题需要你自己解决,比如向CookieContainer中添加和读取cookie等。
    以上说的是使用WebBrowser控件时注意的问题。其实,你的那个方法也是可行的。
    问题出在你的mshtml的版本身上。只要两台计算机的mshtml版本一样,应该都能运行,楼主检查一下版本吧!
      

  6.   

    WebBrowser获得HTMLDOCUMENT,然后进行操作
    可以吧用户名和密码保存到一个地方,这样就可以自动登录了
      

  7.   

     先多謝各位的解答...
    但我不想使用WebBrowser 
    WebBrowser的方法我也有試過..而且也成功模擬了輸入和點擊.但WebBrowser只能於winform顯示..不太方便...我想做到的是填上id和pass 一點登錄.自動彈出已登入的頁面...請問有這方面的例子嗎
      

  8.   

    你這個方法很好呢..又學到點擊的事件了...謝哦..??在別的電腦.只要把autotesterlib.dll放在一起就可以了嗎
      

  9.   


    在AutoTester中, 你想指定控件的话, 将参数传入就可以了.比如你想点击id="abc"的按钮, 那么就是test.Map.Button("id=abc").Click();如果想在name="userName"的文本框中输入, 就是test.Map.TextBox("name=userName").Input("xxx");
      

  10.   

    自动登录,一般是向某个地址提交某些值,提交值可以使用webclient类来完成。详细请查阅msdn
    提交什么资料分析该页的html码可以很容易知道哪些是必须提交的,提交到哪去