Tengo una lista de Uri que quiero "hacer clic" Para lograr esto estoy tratando de crear un nuevo control de navegador web por Uri. Creo un nuevo hilo por Uri. El problema es que ' m teniendo es el extremo del hilo antes de que el documento se ha cargado completamente, por lo que nunca llegue a hacer uso del evento documento completo. ¿Cómo puedo superar esto?WebBrowser Control en un nuevo hilo
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);
}
¿Podría hacerse esto dentro de una aplicación WPF? – Para
¡Sí! Simplemente agregue System.Windows.Forms. Me salvó el día, también. Gracias – zee
Estoy tratando de adaptar este código a mi situación. Tengo que mantener vivo el objeto 'WebBrowser' (para guardar el estado/cookies, etc.) y realizar múltiples llamadas' Navigate() 'a lo largo del tiempo. Pero no estoy seguro de dónde colocar mi llamada 'Application.Run()', ya que bloquea la ejecución de más código. ¿Alguna pista? – dotNET