使用selenium保持登录帐户

时间:2018-05-31 04:54:09

标签: python selenium testing cookies

我正在尝试登录http://login.live.com,并在使用pickle和Cookie关闭浏览器后保持登录状态。

import pickle
from selenium import webdriver
browser = webdriver.Chrome() 
browser.get('https://login.live.com')
# i do my login here
pickle.dump(driver.get_cookies() , open("login_live.pkl","wb"))
browser.quit()

browser = webdriver.Chrome() 
browser.get('https://google.com')
for cookie in pickle.load(open("login_live.pkl", "rb")):
    driver.add_cookie(cookie)
browser.get('https://login.live.com')

问题是,在指向live.com后,我不会保持登录我的帐户。我手动执行相同的流程(显然没有加载cookie)。似乎无法弄清楚出了什么问题,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

login.live.com是重定向页面,Cookie与其无关。使用Cookie页面,即https://account.microsoft.com

因此,在重新加载会话时,加载页面然后加载cookie -

import pickle
from selenium import webdriver
browser = webdriver.Chrome("./chromedriver") 
browser.get('https://login.live.com')
pickle.dump(browser.get_cookies() , open("login_live.pkl","wb"))
browser.quit()
browser = webdriver.Chrome("./chromedriver") 
browser.get('https://account.microsoft.com')
for cookie in pickle.load(open("login_live.pkl", "rb")):
    browser.add_cookie(cookie)
相关问题