.Net WebBrowser控件下载的自动保存文档

时间:2020-04-06 12:01:12

标签: .net vb.net

我正在构建一种工具,用于自动选中网站上的几个复选框,然后在单击导出按钮后下载文件。当前,一旦我“模拟”单击导出按钮,就会弹出SaveFile框,并且我的应用程序失去控制,并且我无法保存文档。有没有办法绕过webBrowser SaveFile框并将其自动保存到本地磁盘?

这是当前代码,可以帮助我了解这一点。

//Login to website
    Dim usernameTextBox As HtmlElement = Me.mainWebBrowser.Document.All.Item("ctl00_UserName")
    usernameTextBox.InnerText = "user"

    Dim passwordTextBox As HtmlElement = Me.mainWebBrowser.Document.All.Item("ctl00_Content_Password")
    passwordTextBox.InnerText = "password"

    Me.mainWebBrowser.Document.GetElementById("ctl00_Content_LoginButton").InvokeMember("click")

    //Wait for page to load otherwise null values for rest of page.
    WaitForPageLoad()
    Me.mainWebBrowser.Document.GetElementById("ctl00_LeftNav_LeftNav1_lnkExport").InvokeMember("click")
    WaitForPageLoad()

    //Now Click all Checkboxes
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvSchooln0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvStudentn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvApplicationn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvAppTypen0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvAppGraden0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvSept1stn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tv3rdFridaySeptn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tv2ndFridayJann0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvRacen0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvAddressn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvNewAppPriorAttendancen0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvParent1n0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvEligibilityn0CheckBox").InvokeMember("click")
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_tvParent2n0CheckBox").InvokeMember("click")

    //This is button to download and export to excel
    Me.mainWebBrowser.Document.GetElementById("ctl00_cphBody_btnExport").InvokeMember("click")

    //Need something here to auto savee file that is downloaded.

1 个答案:

答案 0 :(得分:0)

WebBrowser控件基于Internet Explorer,因此我想您需要在IE首选项中对其进行更改以直接下载文件而无需询问。这也意味着您的应用程序行为将取决于客户端IE配置。 有关如何在IE中执行此操作的示例: https://superuser.com/questions/246553/how-to-disable-file-download-popup-in-internet-explorer

相关问题