【发布时间】:2020-02-06 18:20:17
【问题描述】:
我这样保存 cookie:
auth_func()
# if successful auth
pickle.dump(driver.get_cookies(), open('cookies.pkl', 'wb'))
然后我尝试在同一个域上使用它们:
cookies = pickle.load(open('cookies.pkl', 'rb'))
for cookie in cookies:
driver.add_cookie(cookie)
但我得到了错误:
文件“test.py”,第 115 行,在 user_agent = auth() 文件“test.py”,第 50 行,在 auth driver.add_cookie(cookie) 文件 "C:\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 894 行,在 add_cookie 中 self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict}) 文件 "C:\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", 第 321 行,在执行中 self.error_handler.check_response(response) 文件 "C:\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", 第 242 行,在 check_response 中 raise exception_class(message, screen, stacktrace) selenium.common.exceptions.InvalidArgumentException: Message: invalid 参数:无效的“到期”(会话信息:chrome=78.0.3904.44)
Cookies 结构:
>>> cookies = pickle.load(open('cookies.pkl', 'rb'))
>>> for c in cookies:
... c
...
{'domain': '.linkedin.com', 'expiry': 1633780372, 'httpOnly': False, 'name': '***********', 'path': '/', 'secure': False, 'value': '*************'}
...
【问题讨论】:
标签: python-3.x selenium cookies