Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何单击网页中的按钮_C#_Winforms_Webclient_Webpage - Fatal编程技术网

C# 如何单击网页中的按钮

C# 如何单击网页中的按钮,c#,winforms,webclient,webpage,C#,Winforms,Webclient,Webpage,我正在使用这些代码从服务器下载一个文件 我需要从中下载文件的服务器链接为: 它会在文本框中下载给定日期的文件,这是网站现在的默认设置 我需要单击一个名为mImgBtnGo的按钮才能下载给定日期的文件 在mTbdate中 我不知道我该怎么做才能点击这个叫mImgBtnGo的按钮 我应该在这里写些什么 forms["mImgBtnGo"] = "?"; 我想这就是你想要的: class Program { static string Ext

我正在使用这些代码从服务器下载一个文件

我需要从中下载文件的服务器链接为:

它会在文本框中下载给定日期的文件,这是网站现在的默认设置

我需要单击一个名为mImgBtnGo的按钮才能下载给定日期的文件

在mTbdate中

我不知道我该怎么做才能点击这个叫mImgBtnGo的按钮

我应该在这里写些什么

              forms["mImgBtnGo"] = "?";
我想这就是你想要的:

 class Program
    {

        static string Extract(string s, string tag)
        {
             var startTag = String.Format("id=\"{0}\" value=\"", tag);
            var eaPos = s.IndexOf(startTag) + startTag.Length ;
            var eaPosLast = s.IndexOf('"', eaPos);
            return s.Substring(eaPos, eaPosLast-eaPos);
        }

        static void Main(string[] args)
        {

            WebClient webClient = new WebClient();

            var firstResponse = webClient.DownloadString(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx");

            var forms = new NameValueCollection();
            forms["__EVENTARGUMENT"] = "";
            forms["__VIEWSTATE"] = Extract(firstResponse, "__VIEWSTATE");
            forms["mTbdate"] = "12/22/2011";
            forms["__EVENTVALIDATION"] = Extract(firstResponse, "__EVENTVALIDATION");
            forms["mImgBtnGo.x"] = "10";
            forms["mImgBtnGo.y"] = "10";
            forms["ScriptManager1"] = "MupdPnl|mImgBtnGo"; 
            // forms["__EVENTTARGET"] = "btnLink_Excel";
            webClient.Headers.Set(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");

            String secondResponse = UTF8Encoding.UTF8.GetString(
                webClient.UploadValues(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx", "POST", forms)
              );

            forms = new NameValueCollection();         
            forms["__EVENTARGUMENT"] = "";
            forms["__VIEWSTATE"] = Extract(secondResponse, "__VIEWSTATE");        
            forms["mTbdate"] = "12/22/2011";
            forms["__EVENTVALIDATION"] = Extract(secondResponse, "__EVENTVALIDATION");         
            // forms["mImgBtnGo"] = "?";         
            forms["__EVENTTARGET"] = "btnLink_Excel";          
            webClient.Headers.Set(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");          
            var responseData = webClient.UploadValues(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx", "POST", forms);         
            System.IO.File.WriteAllBytes(@"c:\prj\11152011.csv", responseData);     
            }

     }

哦,你想下载Excel表格!你可以把mImgBtnGo都省略掉。文章中不需要它。但它只下载了2011年12月26日的日期,而不是之前的日期。然后你必须做两篇文章,一篇写着日期,一篇写着mImgBtnGo.x和mImgBtnGo.y,这将生成正确的网格,然后是Excel的文章。记得在第一次发帖后再做一次。非常非常感谢你,rene。感谢你所做的一切。但是我很抱歉,因为我不能投你的票。我没有足够的声望投你的票。
 class Program
    {

        static string Extract(string s, string tag)
        {
             var startTag = String.Format("id=\"{0}\" value=\"", tag);
            var eaPos = s.IndexOf(startTag) + startTag.Length ;
            var eaPosLast = s.IndexOf('"', eaPos);
            return s.Substring(eaPos, eaPosLast-eaPos);
        }

        static void Main(string[] args)
        {

            WebClient webClient = new WebClient();

            var firstResponse = webClient.DownloadString(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx");

            var forms = new NameValueCollection();
            forms["__EVENTARGUMENT"] = "";
            forms["__VIEWSTATE"] = Extract(firstResponse, "__VIEWSTATE");
            forms["mTbdate"] = "12/22/2011";
            forms["__EVENTVALIDATION"] = Extract(firstResponse, "__EVENTVALIDATION");
            forms["mImgBtnGo.x"] = "10";
            forms["mImgBtnGo.y"] = "10";
            forms["ScriptManager1"] = "MupdPnl|mImgBtnGo"; 
            // forms["__EVENTTARGET"] = "btnLink_Excel";
            webClient.Headers.Set(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");

            String secondResponse = UTF8Encoding.UTF8.GetString(
                webClient.UploadValues(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx", "POST", forms)
              );

            forms = new NameValueCollection();         
            forms["__EVENTARGUMENT"] = "";
            forms["__VIEWSTATE"] = Extract(secondResponse, "__VIEWSTATE");        
            forms["mTbdate"] = "12/22/2011";
            forms["__EVENTVALIDATION"] = Extract(secondResponse, "__EVENTVALIDATION");         
            // forms["mImgBtnGo"] = "?";         
            forms["__EVENTTARGET"] = "btnLink_Excel";          
            webClient.Headers.Set(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");          
            var responseData = webClient.UploadValues(@"http://www.mcxindia.com/sitepages/BhavCopyDateWise.aspx", "POST", forms);         
            System.IO.File.WriteAllBytes(@"c:\prj\11152011.csv", responseData);     
            }

     }