La gestion des cookies en C# / Sélénium
Je suis de la difficulté à retirer/ajouter des cookies en Sélénium. Je suis sous Windows 7 et FireFox 25.0.1. Mon code ressemble à ceci:
Instance = new FirefoxDriver();
Instance.Manage().Window.Maximize();
var _cookies = Instance.Manage().Cookies.AllCookies;
Instance.Manage().Cookies.DeleteAllCookies();
foreach(Cookie cookie in _cookies)
{
Instance.Manage().Cookies.AddCookie(cookie);
}
var _newCookies = Instance.Manage().Cookies.AllCookies; //boom
Sur cette dernière ligne, je reçois l'exception "problème Inattendu de réception d'un cookie." J'ai essayé plusieurs variantes du code ci-dessus et le même problème se produit la deuxième fois que j'appelle AllCookies
- même après la fermeture et la réouverture du navigateur et de l'appel de GoToUrl(mysite)
et re-ajouter les cookies (par Le navigateur sur mysite
quand j'ai enregistré les cookies).
J'ai vérifié la collection de cookies avant d'y accéder, et ils ont tous des paires nom/valeur.
Quelqu'un a réussi à utiliser le cookie de l'API avec succès en Sélénium pour C# ou peut dire ce que je fais mal?
OriginalL'auteur larryq | 2013-11-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez uniquement ajouter des cookies si votre navigateur affiche une page de domaine que vous souhaitez déposer le biscuit sur.
vous ne semblent pas avoir navigué vers une URL avant de les déposer des cookies.
Navigate().GoToUrl(my_domain)
avant de supprimer les cookies et de les ajouter par la suite.J'ai été en mesure d'utiliser Chrome & C# pour déposer des cookies. Cependant, elles ont été les témoins je viens de créer plutôt que de le lire, de le supprimer puis sur ajouter. Ce qui se passe lorsque vous ajoutez simplement les cookies plutôt que de lire en premier?
OriginalL'auteur Robbie Wareham