c#如何实现模拟点击按钮提交网页,并下载点击后自动生成的Excel文件
我要批量下载一个网站的Excel文件。但这个Excel文件是要先点击网页上的ButtonSummit按钮,提交后,才会自动生成。
按钮的提交操作我已实现了,具体代码如下:
private void button2_Click(object sender, EventArgs e)
{
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted1);
webBrowser1.Navigate("http://www.测试.com/generate.aspx"); //打开目标URL
}
private void webBrowser1_DocumentCompleted1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url != webBrowser1.Document.Url) return;
HtmlDocument doc = webBrowser1.Document; //获取document对象
HtmlElement btn = null;
foreach (HtmlElement em in doc.All) //轮循
{
string str = em.Name;
if ((str == "submit")) //减少处理
{
btn = em;
break; //获取submit按钮
}
}
if (btn != null)
btn.InvokeMember("click"); //触发submit事件
}
但是,它生成的EXcel我不知道怎么实现自动下载了。
现在运行后,会自动弹出下载框,需要手工点击保存。
哪位高手研究过这种模拟提交、并下载提交后生成的文件的操作?
------最佳解决方案--------------------沙发,顶下!
------其他解决方案--------------------ding!!
------其他解决方案--------------------学习!!!!
------其他解决方案--------------------怀疑可能性,网页都有权限问题的
------其他解决方案--------------------
这个根本和权限无关!
------其他解决方案--------------------你现在需要做的就是屏蔽EXCEL下载弹出框
上次看到类似的 但是感觉这样很不安全啊
万一是木马咋办。?
------其他解决方案--------------------放弃吧,弹出下载窗口后,自己写的代码是不可能控制这个弹出窗口的,除非自己写Activex来处理下载,要不然就用外部程序来实现,比如像按键精灵之类的软件