2009-06-20 124 views
0

需要登錄到一個網站,去一個特定的頁面(例如,本地路由器頁面),點擊一個按鈕做的操作(如連接)。由於我幾乎每天都這樣做,所以我想通過小型C#應用程序將其自動化。我不知道該怎麼做。任何指針?自動化登錄一個網站,並點擊一個按鈕

回答

1

爲什麼代碼C#只需點擊一下?嘗試AutoIt

這裏是一個starter tutorial。這將幫助您快速自動點擊應用程序的默認按鈕。 AutoIt的一些技巧,你幾乎可以做任何你可以通過電話告訴某人在GUI上做的任何事情。

AutoIt的是要保持方便,如果你與GUI測試工作還是在做夢腳本很多常規GUI活動的有用工具。

+0

非常相似的AutoIt也AutoHotkey的,這將允許你這樣做。 – 2009-06-20 11:40:15

1

使用像Fiddler這樣的工具捕獲HTTP請求的內容。通過這些信息,您可以構建執行這些HTTP請求的應用程序。

1

跟蹤的HTTP請求使用

  • 一個瀏覽器插件(螢火蟲,HttpWatch的,tamperdata等)
  • 網絡調試代理(小提琴手,查爾斯等)
  • 包您發送嗅探器(Wireshark的,等等)

然後使用類的System.Net命名空間(如WebClient)執行相同的請求。

1

您還可以使用Selenium IDE,這是一個Firefox的插件,可以讓您錄製宏像在瀏覽器中回放腳本。它專爲網頁的自動化測試而設計,但您可以用C#導出腳本,然後可以從控制檯應用程序運行該腳本。

如果計劃運行它作爲一個C#應用程序,您還需要看看Selenium RC

快樂腳本:)

0

我已經創造了一種使用由微軟 提供的WebBrowser控件C#應用程序,並用它來OPE一個網站,並試圖操縱它的HTML,並試圖把值 一些文本框並試圖打我的作品的按鈕,希望這可以幫助你以及 示例代碼如下

internal void LoginToSite() 
     { 
      WebBrowser.Navigate("some site login Page"); 
      _Processing = true; 
      var username = ConfigurationManager.AppSettings["username"]; 
      var password = ConfigurationManager.AppSettings["password"]; 
      while (_Processing) 
      { 
       Application.DoEvents(); 
       if (WebBrowser.ReadyState == WebBrowserReadyState.Complete || WebBrowser.ReadyState == WebBrowserReadyState.Interactive) 
       { 
        var htmlDocument = this.WebBrowser.Document; 
        if (htmlDocument != null) 
        { 
         foreach (HtmlElement tag in htmlDocument.GetElementsByTagName("input")) 
         { 
          switch (tag.Name) 
          { 
           case "username": 
            tag.InnerText = username; 
            break; 
           case "password": 
            tag.InnerText = password; 
            break; 
           case "cmdlogin": 
            tag.RaiseEvent("onclick"); 
            tag.InvokeMember("Click"); 
            break; 
          } 

         } 
        } 
        _Processing = false; 
       } 
      } 
     }