WatiN.Core.IE composant donnant Timeout tandis que Internet Explorer occupé erreur lors de l'ouverture d'une URL
Je suis en utilisant WATin IE composant pour la navigation sur un site web spécifique
Sur StartBrowsing l'événement clic du bouton je suis de l'initialisation de l'objet de WatiN.De base.IE et en passant l'URL du site web pour l'ouverture du site
comme le montre l'extrait de code ci-dessous :-
WatiN.Core.IE ie;
private void btnStartBrowsing_Click(object sender, EventArgs e)
{
ie = new IE(URLs.mainURL);
}
Parfois, ou devrais-je plutôt dire 5/10 fois j'obtiens cette erreur :- "Délai d'attente alors qu'Internet Explorer occupé"
Comment contourner ce problème??
source d'informationauteur Ankush Roy
Vous devez vous connecter pour publier un commentaire.
Il est possible que l'IE instance n'est pas éliminés correctement. Vous aurez envie de vérifier le Gestionnaire des Tâches et voir combien de IEXPLORE.EXE les processus en cours d'exécution. Si vous avez plus de deux, je suggère la mise en œuvre d'une aide du bloc et ensuite vérifier le Gestionnaire des Tâches de nouveau:
Une bien meilleure solution serait d'utiliser la AttachTo méthode une fois que vous avez initialisé un "maître" du navigateur variable d'instance:
Mise à JOUR:
Puisque vous avez besoin de l'accès au navigateur pendant la durée de la session, je suggère fortement à l'aide d'un objet singleton à la maison le navigateur d'objet:
Le navigateur est ouvert qu'une seule fois, et vous avez accès dès que vous en avez besoin, car vous n'avez pas à instancier manuellement. Pour l'utiliser, il vous suffit d'appeler l'Instance de la propriété chaque fois que vous avez besoin d'accéder au navigateur:
Il pourrait être une condition de course, essayez d'augmenter la watin délais d'attente avant d'initialiser l'ie objet.
Comme ceci:
J'utilise cette classe pour l'attacher à votre navigateur. Et il fonctionne très bien.
Que le code ci-dessus a résolu mon problème.
Tout simplement tue IE sur chaque lancer, sa raison d'ie toujours en cours d'exécution.