使用WebBrowser控件单击下载文件

时间:2017-09-30 00:28:54

标签: c# .net download webbrowser-control

我需要从网站下载excel文件。 我在Windows窗体中创建了一个WebBrowser控件,导航到该站点,选择一个条件,单击一个搜索按钮,打开另一个页面。

现在,在此页面上有一个带有javascript功能的链接按钮,可以在单击时下载excel文件。

链接代码如下:

<a onclick="$find('ReportViewer').exportReport('Excel');" href="javascript:void(0)" style="color: rgb(51, 102, 204); font-family: Verdana; font-size: 8pt; padding: 3px 8px 3px 32px; display: block; white-space: nowrap; text-decoration: none;">Excel</a>

我在WebBrowser中编写了一个代码来查找Text&#34; Excel&#34;然后单击它,但这会打开Internet Explorer并提示用户下载。 这是一个自动化过程,因此我不需要提示,我需要自动下载并将文件保存在特定目录中。

我尝试使用此解决方案

Download a file through the WebBrowser control

但是在我的情况下它并不起作用,我想因为我没有一个以pdf或xls结尾的直接网址。这是一个javascript电话。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

HtmlElementCollection links = webBrowser.Document.GetElementsByTagName("A");

foreach (HtmlElement link in links)
{
    if (link.InnerText.Equals("My Assigned")) //replace this with how you search for excel
        link.InvokeMember("Click");
}