在为chromedriver添加cookie时,Selenium的报错ptions.InvalidArgumentException: Message: invalid argument: invalid ‘expiry’
保存cookie代码如下:
cookies = _cookies()
pickle.dump(cookies, open(PATH, "wb"))
读取cookie代码如下:
cookies = pickle.load(open(PATH, "rb"))
for cookie in cookies:browser.add_cookie(cookie)
新版本的chromedrive拒绝了"expiry value"(到期密钥)。因为新版chromedriver要求expiry value为int64,而之前可以为double。这应该算是一个版本更新中的Bug。
法1:删除到期密钥
法2:将到期密钥转换为整数
以上这两个方法,都既可以在保存cookie时进行操作,也都可以在读取cookie时进行操作。
这里记录保存cookie时进行的操作:
法1 删除expiry:
for cookie in cookies:if 'expiry' in cookie:del cookie['expiry']
pickle.dump(cookies, open(PATH, "wb"))
法2:转换为int
for cookie in cookies:if 'expiry' in cookie:cookie['expiry'] = int(cookie['expiry'])
pickle.dump(cookies, open(PATH, "wb"))
本文发布于:2024-02-05 08:03:24,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727897564770.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |