Comment faire WebBrowser attendre qu'il se charge entièrement?
J'ai un C# formulaire avec un contrôle de navigateur web sur elle.
Je suis en train de visiter différents sites web dans une boucle.
Cependant, je ne peux pas contrôler adresse URL à charger dans mon formulaire navigateur web de l'élément.
C'est la fonction que j'utilise pour naviguer à travers les adresses URL:
public String WebNavigateBrowser(String urlString, WebBrowser wb)
{
string data = "";
wb.Navigate(urlString);
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
data = wb.DocumentText;
return data;
}
Comment puis-je faire ma boucle d'attente jusqu'à ce qu'il charge?
Ma boucle est quelque chose comme ceci:
foreach (string urlAddresses in urls)
{
WebNavigateBrowser(urlAddresses, webBrowser1);
//I need to add a code to make webbrowser in Form to wait till it loads
}
- Merci de ne pas le préfixe de vos titres avec "c#", par exemple. C'est ce que les balises sont pour.
- Joindre une méthode pour la
DocumentCompleted
événement. - OK! Je l'ai fait comme ça parce qu'il m'aide quand j'ai essayer de trouver quelque chose sur stackoverflow
- Brian, comment puis-je faire cette chose? u peut me donner un exemple de ligne de code?
- double possible de Comment utiliser le contrôle webbrowser DocumentCompleted événement en C#?
Vous devez vous connecter pour publier un commentaire.
Ajouter à votre code:
Remplir cette fonction
if
vérifier qui est très important.DocumentedCompleted
se déclenche pour chaqueiframe
ainsi, par exemple.Après un certain temps de la colère de la merde IE fonctionnalité j'ai tombé sur de faire quelque chose qui est le moyen le plus précis pour juger de la page de chargement complet.
Ne jamais utiliser le WebBrowserDocumentCompletedEventhandler événement
utilisation WebBrowserProgressChangedEventHandler avec certains modifections vu ci-dessous.
//"ie" est notre navigateur web objet
Simple génie de la méthode de choses à ce sujet, j'ai trouvé cette question googler "Comment dormir navigateur web ou mettre en pause"
DocumentCompleted
seulement 2 fois... Donc, que l'éternelle question"how to know when WB really finished loading document"
est toujours ouverte.Selon MSDN (contient la source de l'échantillon), vous pouvez utiliser le
DocumentCompleted
événement pour que. Supplémentaire très utile de l'information et de la source qui montre comment faire la différence entre événement invocations peuvent être trouvés ici.ce que vous experiencend qui m'est arrivé . readyStete.complet ne fonctionne pas dans certains cas. ici, j'ai utilisé bool document_completed pour vérifier l'état