vb.net下载没有弹出窗口的文件

时间:2015-02-10 14:35:00

标签: vb.net

我正在尝试从FedEx的网站下载跟踪信息。首先,我必须传递登录凭据,然后导航到触发自动下载的网页。我的代码到目前为止工作得很好。然而;一旦下载被触发,就会出现一个弹出窗口,询问我是否要保存文件,然后当我单击“保存”时,我会询问我要将文件保存到的位置。我想禁用弹出窗口并让文件自动保存在我的下载文件夹中。有没有办法做到这一点?在此先感谢您的帮助! 到目前为止,这是我的代码。

    Dim WebBrowser1 As New WebBrowser
    Dim url As String = "https://www.fedex.com/insight/manifest/manifest.jsp?&__QS=252D0F3B4E380B211B122B1A09251510050E0F5C273A223E34360539237976645E45745E57776C&"
    WebBrowser1.Navigate(url)
    WebBrowser1.ScriptErrorsSuppressed = True
    Threading.Thread.Sleep(2000)
    Application.DoEvents()
    Do Until WebBrowser1.IsBusy = False
        Threading.Thread.Sleep(1000)
        Application.DoEvents()
    Loop
    WebBrowser1.Document.GetElementById("username").SetAttribute("value", "MyUsername")
    WebBrowser1.Document.GetElementById("password").SetAttribute("value", "MyP@ssw0rd")
    WebBrowser1.Document.GetElementById("login").InvokeMember("click")
    Threading.Thread.Sleep(1000)
    Application.DoEvents()
    Do Until WebBrowser1.IsBusy = False
        Threading.Thread.Sleep(1000)
        Application.DoEvents()
    Loop
    WebBrowser1.Navigate("https://www.fedex.com/insight/manifest/download_post.jsp?VIEW=|Outbound_View&INFOTYPE=STATUS")
    Do Until WebBrowser1.IsBusy = False
        Threading.Thread.Sleep(1000)
        Application.DoEvents()
    Loop

所以我尝试了这段代码,但所有这些仍然只是下载页面的源代码。

Using client As New WebClient()
        client.Headers("User-Agent") = "Mozilla/4.0"
        client.Credentials = New NetworkCredential("Username", "P@sword")
        client.Credentials = CredentialCache.DefaultCredentials ' << if Windows Authentication
        Dim content As String = client.DownloadString("https://www.fedex.com/insight/manifest/download.jsp?VIEW=/Outbound_View")
        Console.WriteLine(content.Substring(0, 15))
    End Using

我再次检查了网页的来源,试图找到不同的网址,但也找不到其他内容。我想知道使用WebBrowser.Navigate下载是否更容易,然后禁止弹出窗口。有没有压制或摆脱vb中的下载弹出窗口?我对WebClient没有太大的成功。感谢所有的帮助,因为我在vb.net上还是新手!

0 个答案:

没有答案