Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible to download a file via WebKit browser in C# using webkitdotnet?

Tags:

c#

webkit

I'm using WebKitDotNet to simulate and automate a web browser. This is really nifty and works in most respects. However, when I try to implement this code, WebKit doesn't trigger a download:

WebKitBrowser _b = null;

private void button1_Click(object sender, EventArgs e)
{
    _b = new WebKitBrowser();
    _b.DownloadBegin += new FileDownloadBeginEventHandler(b_DownloadBegin);
    _b.Error += new WebKitBrowserErrorEventHandler(_b_Error);
    _b.AllowDownloads = true;
    _b.Navigate("http://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download");
}

void _b_Error(object sender, WebKitBrowserErrorEventArgs e)
{
    MessageBox.Show("error!");
}

void b_DownloadBegin(object sender, FileDownloadBeginEventArgs e)
{
    MessageBox.Show("hi");
}

Neither the "Error" nor the "DownloadBegin" events fire. I would expect at least one of them to do so - is there a setting that I'm missing?

EDIT: I know this is an old question, but here's the update. When I wrote this question, I was trying to automate a process that required a human being - once per day - to log onto a website, provide credentials, and click a download link. We were hoping to be able to do this programmatically to relieve the monotony for the poor person tasked with doing this job.

Unfortunately, WebKitDotNet did not succeed in this task. Although, in a webkit based browser, you can click on the link and trigger a download, in the embedded WebKitDotNet clicking on the link did nothing. My guess is that something within WebKitDotNet lost the event. If anyone wants to test this, you can use the Sourceforge download link to test.

One of the guys on my team did eventually solve this problem by using an Internet Explorer automation tool called "IMacros". We selected this product because 1) We could guarantee that IE was installed on every computer that would run the program, and 2) IMacros could correctly receive the event from the website and trigger the file download.

like image 278
Ted Spence Avatar asked Oct 03 '11 22:10

Ted Spence


1 Answers

On the Issue tracker there is a post date from March 24, 2011 in which is stated that download does not work yet:

https://github.com/webkitdotnet/webkitdotnet/issues/7

Since there are few issues in the tracker, it would have probably been marked as resolved if the feature was added meantime.

like image 112
Răzvan Flavius Panda Avatar answered Oct 27 '22 00:10

Răzvan Flavius Panda