我是编程的新手。我有一个项目,我必须从网站获取数据(我将在下面发布网站)。但碰巧我首先必须选择一个日期并按下'Go'按钮,然后点击另一个按钮/链接'在Excel中查看'来下载这些数据。在找到我需要的日期后,我找不到第一个点击'开始'按钮的方法,然后点击第二个按钮'在Excel中查看'通过我的c#代码。 任何帮助将不胜感激。通过双击按钮从.aspx网页获取数据c#.net
PS:您可以检查该链接为自己http://www.mcxindia.com/sitepages/BhavCopyDateWiseArchive.aspx
private void Form1_Load(object sender, EventArgs e)
{
WebClient webClient = new WebClient();
byte[] b = webClient.DownloadData("http://www.mcxindia.com/sitepages/BhavCopyDatewise.aspx");
string s = System.Text.Encoding.UTF8.GetString(b);
var __EVENTVALIDATION = ExtractVariable(s, "__EVENTVALIDATION");
//__EVENTVALIDATION.Dump();
var forms = new NameValueCollection();
forms["__EVENTTARGET"] = "btnLink_Excel";
forms["__EVENTARGUMENT"] = "";
forms["__VIEWSTATE"] = ExtractVariable(s, "__VIEWSTATE");
forms["mTbdate"] = "01%2F15%2F2013";
forms["__EVENTVALIDATION"] = __EVENTVALIDATION;
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:\11152011.csv", responseData);
}
private static string ExtractVariable(string s, string valueName)
{
string tokenStart = valueName + "\" value=\"";
string tokenEnd = "\" />";
int start = s.IndexOf(tokenStart) + tokenStart.Length;
int length = s.IndexOf(tokenEnd, start) - start;
return s.Substring(start, length);
}
上面的代码给我的文件,只在最后可用日期。我无法在我想要的日期得到它。
为什么你想要做的两个步骤,而不是你能做到在单一的按钮点击 –
分享你的代码,指定什么地方工作,什么都没有。 – nunespascal
我已添加验证码请检查 –