selenium.common.exceptions.WebDriverException: Message: invalid argument: missing 'name'

使用selenium在添加cookie提示错误:

Traceback (most recent call last):
  File "I:/Dropbox/python/spider/zhihu/post.py", line 37, in <module>
    z.loadCookie()
  File "I:/Dropbox/python/spider/zhihu/post.py", line 31, in loadCookie
    self.browser.add_cookie(cookie)
  File "D:\software\python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 760, in add_cookie
    self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
  File "D:\software\python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "D:\software\python35\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: missing 'name'
  (Session info: chrome=71.0.3578.98)
  (Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 10.0.10586 x86_64)

查看文档:

https://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.add_cookie

cookie_dict:一个字典对象,带有必需的键 - “name”和“value”;可选键 - ““path”,“domain”,“secure”,“expiry”

发现cookie必须要cookie至少需要name和value两个key。
测试代码:

browser = webdriver.Chrome()
browser.get(url)
# 删除第一次建立连接时的cookie
browser.delete_all_cookies()
# cookie = getCookie()
# print(type(cookie))
# print(cookie)
cookie={"name" : "foo", "value" : "bar"}
browser.add_cookie(cookie)
browser.get(url)

添加cookie成功

而我之前的cookie没有name和value这两个键,所以添加cookie失败。

相关文章

注:所有源代码均实测运行过。所有源代码均已上传CSDN,请有...
继承APIView和ViewSetMixin;作用也与APIView基本类似,提供...
一、Django介绍Python下有许多款不同的 Web 框架。Django是重...
本文从nginx快速掌握到使用,gunicorn快速掌握到使用,实现小...
uniapp微信小程序订阅消息发送服务通知
Django终端打印SQL语句 1 Setting配置: 2 默认python 使用的...