开发者

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

开发者 https://www.devze.com 2023-04-10 03:36 出处:网络
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:

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.Allo开发者_如何学GowDownloads = 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.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消