J'ai une liste d'Uri que je veux "cliqué" Pour y parvenir, j'essaie de créer un nouveau contrôle de navigateur Web par Uri.Je crée un nouveau thread par Uri. m est tout le bout du fil avant que le document soit complètement chargé, donc je ne peux jamais utiliser l'événement DocumentComplete. Comment puis-je surmonter cela?WebBrowser Control dans un nouveau thread
var item = new ParameterizedThreadStart(ClicIt.Click);
var thread = new Thread(item) {Name = "ClickThread"};
thread.Start(uriItem);
public static void Click(object o)
{
var url = ((UriItem)o);
Console.WriteLine(@"Clicking: " + url.Link);
var clicker = new WebBrowser { ScriptErrorsSuppressed = true };
clicker.DocumentCompleted += BrowseComplete;
if (String.IsNullOrEmpty(url.Link)) return;
if (url.Link.Equals("about:blank")) return;
if (!url.Link.StartsWith("http://") && !url.Link.StartsWith("https://"))
url.Link = "http://" + url.Link;
clicker.Navigate(url.Link);
}
Cela peut-il être fait dans une application WPF? – Para
Oui! Ajoutez simplement System.Windows.Forms. J'ai aussi sauvé ma journée. Merci – zee
J'essaie d'adapter ce code à ma situation. Je dois garder en vie l'objet 'WebBrowser' (pour sauvegarder l'état/les cookies, etc.) et effectuer plusieurs appels' Navigate() 'avec le temps. Mais je ne sais pas où placer mon appel 'Application.Run()', car il bloque l'exécution du code. Des indices? – dotNET