python - 使用 selenium 保持登录帐户

标签 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)。似乎无法弄清楚出了什么问题,我们将不胜感激。

最佳答案

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/

相关文章:

python - 安装 pywafo 获取 "<name> is not a supported wheel on this platform"

python - 具有可变数量的对象和其他参数列表的方法

python - matplotlib.pyplot.draw() 和 matplotlib.pyplot.show() 没有效果

java - 单击 selenium java 上的链接时出现问题

python - 我们如何使用本地 Chrome 的 cookie 来使用 Selenium 登录?

testing - 开源负载测试框架

python - 如何检测用户是否在 Django REST(分页)的最后一页?

selenium - 在 Firefox Selenium IDE 上看不到文件/编辑/操作菜单栏

testing - 你如何将 cucumber 的功能文本文件传递给运行? IE。重新运行.txt

python - 如何测试 Django 模型方法 __str__()