Ne PhantomJS en charge les cookies?
Ne PhantomJS en charge les cookies? Si oui, où puis-je trouver de l'API de détails?
Je ne suis pas en mesure de le comprendre après avoir cherché pendant un certain temps maintenant.
- oui, il prend en charge cookie comme les navigateurs, qu'entendez-vous par API?
- Comment puis-je obtenir la valeur d'un cookie? document.cookie ne semble pas obtenir quoi que ce soit.
- document.cookie fonctionne dans tous les navigateurs, sauf dans phontomjs, semble être un bug, il y a des plans pour ajouter des API natives code.google.com/p/phantomjs/issues/detail?id=354&start=100
Vous devez vous connecter pour publier un commentaire.
Oui, comme de 1.7 Fantôme a la complète gestion des cookies, activé par défaut. Les Cookies sont conservées pour la durée du processus de la vie.
Si vous souhaitez conserver des cookies à travers les pistes de Fantôme, il y a un option de ligne de commande
cookies-fichier
où vous pouvez spécifier l'emplacement où stocker les cookies persistants.Dans la page de script, vous pouvez utiliser le
document.cookie
de la propriété. Comme dans les navigateurs, cette propriété renvoie une chaîne similaire à celle qui serait envoyé dans leCookie:
en-tête HTTP.Fantôme de script, vous pouvez accéder à des cookies pour une page (dans la limite de restrictions origine) via
page.cookies
, qui renvoie objets.Vous pouvez également accéder à tous cookies (de tous les domaines) à l'aide de
phantom.cookies
.À ajouter/modifier/supprimer les cookies, utilisez le
addCookie
,deleteCookie
, etclearCookies
méthodes d'unWebPage
objet ou de laphantom
objet.Lorsque vous utilisez les méthodes de
WebPage
objet, vous modifiez uniquement les cookies qui sont visibles à la page. L'accès à d'autres domaines est bloqué.Cependant, l'utilisation de
phantom
's cookie méthodes de permettre l'accès à tous cookies.phantom.addCookie
nécessite un nom de domaine (WebPage.addCookie
suppose le domaine actuel si vous ne spécifiez pas un), etphantom.deleteCookie
supprime tout cookie correspondant au nom spécifié.console.log(document.cookie);
l'exécution s'arrête.document.cookie
fonctionne maintenant. Voir les modifications.Il fait par l'intermédiaire La page web.addCookie() - qui, d'ailleurs, ne fonctionne pas ni pour moi, ni quelqu'un d'autre.
Vous pouvez l'utiliser à la place:
WebPage.addCookie()
ne fonctionne pas pour une raison quelconque.Le travail autour de moi, je n'avais plus qu'à exécuter le code javascript directement. Je suis à l'aide de Geb et n'suivantes:
Lorsque le sélénium échoue j'ai toujours revenir à javascript pour la fonctionnalité.
Je n'ai pas encore essayé, mais n'a pas
--cookies-file=/path/to/cookies.txt
travail?C'est le premier élément dans API de référence...
J'avais titré de l'information au sein de session récemment. Vous devez placer le biscuit dans la page de l'objet, comme ci-dessous (coffeescript):