J'utilise WebKitDotNet pour simuler et automatiser un navigateur web. C'est très pratique et cela fonctionne dans la plupart des cas. Cependant, lorsque j'essaie d'implémenter ce code, WebKit ne déclenche pas de téléchargement :
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");
}
Ni l'événement "Error" ni l'événement "DownloadBegin" ne se déclenchent. Je m'attendrais à ce qu'au moins l'un d'entre eux le fasse - y a-t-il un paramètre qui m'échappe ?
EDIT : Je sais que c'est une vieille question, mais voici la mise à jour. Lorsque j'ai écrit cette question, j'essayais d'automatiser un processus qui exigeait qu'un être humain - une fois par jour - se connecte à un site Web, fournisse des informations d'identification et clique sur un lien de téléchargement. Nous espérions pouvoir le faire de manière programmatique pour soulager la monotonie de la pauvre personne chargée de faire ce travail.
Malheureusement, WebKitDotNet n'a pas réussi cette tâche. Bien que, dans un navigateur basé sur webkit, vous puissiez cliquer sur le lien et déclencher un téléchargement, dans le WebKitDotNet embarqué, cliquer sur le lien n'a rien donné. Je pense que quelque chose dans WebKitDotNet a perdu l'événement. Si quelqu'un veut tester cela, vous pouvez utiliser le lien de téléchargement de Sourceforge pour le faire.
Un des gars de mon équipe a fini par résoudre ce problème en utilisant un outil d'automatisation d'Internet Explorer appelé "IMacros". Nous avons choisi ce produit parce que 1) nous pouvions garantir qu'IE était installé sur chaque ordinateur qui exécuterait le programme, et 2) IMacros pouvait recevoir correctement l'événement du site Web et déclencher le téléchargement du fichier.