Message: invalid argument: invalid 'expiry'"/>
问题解决:Selenium Message: invalid argument: invalid 'expiry'
报错背景:
在为chromedriver添加cookie时,Selenium的报错:seleniummon.exceptions.InvalidArgumentException: Message: invalid argument: invalid ‘expiry’
保存cookie代码如下:
cookies = browser.get_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"))
更多推荐
问题解决:Selenium Message: invalid argument: invalid 'expiry'
发布评论