Le sélénium utilisation de firefox profil
J'essaie d'utiliser Selenium Webdriver et Python sur Windows 10 en pour faire une certaine automatisation de navigateur actions. Mais j'ai ce problème: Sélénium commencé la fenêtre de Firefox ne veut pas "voir" que je suis déjà connecté et de la cible du site m'envoie à la page de connexion. Donc, je suppose que le Sélénium pas vraiment utilise le profil, mais juste une copie de celui-ci.
Je voudrais savoir:
- Est ma conclusion sur l'utilisation réelle de la copie du profil vrai?
- Si 1. est vrai, il est un moyen à utiliser, vraiment tout, à partir d'un profil existant?
- Si ma conclusion n'est pas vrai, merci de le prouver et de m'indiquer la direction où je peux trouver quelles informations peuvent être utilisées pour la session, pourquoi le Sélénium pourrait ne pas envoyer il et comment le forcer à le faire en fait.
Edit:
from selenium import webdriver
fp = webdriver.FirefoxProfile('C:/Users/<user name>/AppData/Roaming/Mozilla/Firefox/Profiles/abc3defghij2.ProfileName')
driver = webdriver.Firefox(fp)
driver.get("https://www.example.com/membersarea")
faites-vous appel à tout profil enregistré ou d'un navigateur dans le script? plz fournir le code
Pourquoi voulez-vous que le Sélénium pour "détecter" que vous êtes déjà connecté, lorsque vous pouvez supposer une "nouvelle marque" la session, et d'effectuer la connexion via le Sélénium lui-même?
J'ai utilisé Selenium IDE avec SelBlocks pour une tâche similaire, mais on dirait que j'ai rencontré l'un de ses limites - j'avais besoin d'obtenir des informations à partir d'une page lorsque vous êtes connecté et non connecté. Autant que je sache, avec Selenium IDE, je peux ouvrir la fenêtre privée à l'aide de javascript, mais ne peux pas travailler avec elle.
Pourquoi voulez-vous que le Sélénium pour "détecter" que vous êtes déjà connecté, lorsque vous pouvez supposer une "nouvelle marque" la session, et d'effectuer la connexion via le Sélénium lui-même?
J'ai utilisé Selenium IDE avec SelBlocks pour une tâche similaire, mais on dirait que j'ai rencontré l'un de ses limites - j'avais besoin d'obtenir des informations à partir d'une page lorsque vous êtes connecté et non connecté. Autant que je sache, avec Selenium IDE, je peux ouvrir la fenêtre privée à l'aide de javascript, mais ne peux pas travailler avec elle.
OriginalL'auteur svgrafov | 2016-05-16
Vous devez vous connecter pour publier un commentaire.
Sélénium, en effet, utilise une copie du profil, mais qui ne devraient pas causer de problèmes. Je pense que votre question a plus à voir avec les cookies de session vs les cookies persistants.
Sur support.mozilla.org une liste indiquant que l'information est stockée dans votre profil. Notez que les cookies sont parmi ceux-ci, cependant les cookies de session ne sont pas stockées dans les cookies.sqlite qui est la raison de Sélénium ne peut pas reconstruire votre session puisqu'il n'apparaît pas dans le profil.
De nombreux sites, cependant, offrent une
remember-me
ou unstay-logged-in
option sur leur page de connexion qui, s'il est utilisé, de stocker un cookie persistant par lequel la session peut être restauré. J'ai utilisé le script suivant pour tester cela avec gmail,Lorsque j'exécute ce script après l'avoir connecté à gmail avec le
stay-logged-in
option est activée, alors le Sélénium est en mesure d'accéder à ma boîte de réception. Si lestay-logged-in
option n'est pas activée la session est détruite lors de la fermeture de mon navigateur et ainsi de Sélénium ne peut pas le restaurer.La capture d'écran ci-dessous montre que les cookies de session sont en effet pas stockées dans les cookies.sqlite et donc n'apparaissent pas dans le profil lorsqu'il est utilisé par le Sélénium.
stay-logged-in
sur la page Gmail, il a été supprimé?vous pouvez trouver votre profil actif-dossier à l'aide de
about:support
dans firefoxOriginalL'auteur sowa