我正在尝试登录 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)。似乎无法弄清楚出了什么问题,我们将不胜感激。
最佳答案
login.live.com是一个重定向页面,并且 cookie 不与其相关联。使用cookie页面即https://account.microsoft.com
因此在重新加载 session 时,加载页面然后加载 cookies -
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)
关于python - 使用 selenium 保持登录帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616865/