2009-06-20 99 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; 
       } 
      } 
     }